~rdoering/ubuntu/karmic/erlang/fix-535090

« back to all changes in this revision

Viewing changes to erts/emulator/hipe/hipe_sparc_abi.txt

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-02-15 16:42:52 UTC
  • mfrom: (3.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090215164252-q5x4rcf8a5pbesb1
Tags: 1:12.b.5-dfsg-2
Upload to unstable after lenny is released.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
parameters and results.
20
20
 
21
21
The runtime system uses temporaries in specific contexts:
22
 
%l7 (TEMP_ARG2) is used to preserve ARG2 in BIFs that may fail with
23
 
RESCHEDULE.
24
 
%i5 (TEMP_ARG1) is used to preserve ARG1 in BIFs that may fail with
25
 
RESCHEDULE, and to pass the callee arity in native-to-BEAM traps.
26
 
%i4 (TEMP_ARG0) is used to preserve ARG0 in BIFs that may fail
27
 
with RESCHEDULE, preserve the return value in nbif_stack_trap_ra,
 
22
%i5 (TEMP_ARG1) is used to pass the callee arity in native-to-BEAM traps.
 
23
%i4 (TEMP_ARG0) is used to preserve the return value in nbif_stack_trap_ra,
28
24
preserve RA in hipe_sparc_inc_stack (the caller saved its RA in
29
25
TEMP_RA), to pass the callee address in native-to-BEAM traps,
30
26
and to contain the target in BEAM-to-native calls.
31
27
%i3 (TEMP_RA) is used to preserve RA around BIF calls.
32
 
%o2 (ARG1) is used to pass the NBIF address when a BIF that may
33
 
fail with RESCHEDULE throws an exception.
34
28
%o1 (ARG0) is used for MBUF-after-BIF checks, for storing the
35
29
arity of a BIF that throws an exception or does GC due to MBUF,
36
30
and for checking P->flags for pending timeout.