Changeset 22e10ab in mainline for arch/sparc64/src


Ignore:
Timestamp:
2005-12-01T13:52:13Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
414f59c
Parents:
74813216
Message:

saprc64 work.
Perform leaf-procedure optimization for context_save and context_restore.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/sparc64/src/context.S

    r74813216 r22e10ab  
    3636
    3737.macro CONTEXT_STORE r
    38         stx %i1, [\r + OFFSET_I1]
    39         stx %i2, [\r + OFFSET_I2]
    40         stx %i3, [\r + OFFSET_I3]
    41         stx %i4, [\r + OFFSET_I4]
    42         stx %i5, [\r + OFFSET_I5]
    43         stx %fp, [\r + OFFSET_FP]
    44         stx %i7, [\r + OFFSET_PC]
     38        stx %o1, [\r + OFFSET_I1]
     39        stx %o2, [\r + OFFSET_I2]
     40        stx %o3, [\r + OFFSET_I3]
     41        stx %o4, [\r + OFFSET_I4]
     42        stx %o5, [\r + OFFSET_I5]
     43        stx %o7, [\r + OFFSET_PC]
    4544        stx %sp, [\r + OFFSET_SP]
    4645.endm
    4746
    4847.macro CONTEXT_LOAD r
    49         ldx [\r + OFFSET_I1], %i1
    50         ldx [\r + OFFSET_I2], %i2
    51         ldx [\r + OFFSET_I3], %i3
    52         ldx [\r + OFFSET_I4], %i4
    53         ldx [\r + OFFSET_I5], %i5
    54         ldx [\r + OFFSET_FP], %fp
    55         ldx [\r + OFFSET_PC], %i7
     48        ldx [\r + OFFSET_I1], %o1
     49        ldx [\r + OFFSET_I2], %o2
     50        ldx [\r + OFFSET_I3], %o3
     51        ldx [\r + OFFSET_I4], %o4
     52        ldx [\r + OFFSET_I5], %o5
     53        ldx [\r + OFFSET_PC], %o7
    5654        ldx [\r + OFFSET_SP], %sp
    5755.endm
     
    5957       
    6058context_save_arch:
    61         save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
    62         CONTEXT_STORE %i0
     59        CONTEXT_STORE %o0
    6360
    6461        # context_save returns 1
    65         mov 1, %i0
    66         ret
    67         restore %sp, STACK_WINDOW_SAVE_AREA_SIZE, %sp
     62        retl
     63        mov 1, %o0
    6864
    6965context_restore_arch:
    70         save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
    71         CONTEXT_LOAD %i0
     66        CONTEXT_LOAD %o0
    7267
    7368        # context_restore returns 0
    74         xor %i0, %i0, %i0
    75         ret
    76         restore %sp, STACK_WINDOW_SAVE_AREA_SIZE, %sp
     69        retl
     70        xor %o0, %o0, %o0
Note: See TracChangeset for help on using the changeset viewer.