Changeset 525


Ignore:
Timestamp:
Feb 11, 2004, 5:23:13 PM (21 years ago)
Author:
Gary Byers
Message:

Hoist register names, etc into main file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/constants.s

    r519 r525  
    1515*/
    1616
     17/* Register usage: */
     18
     19
     20define([rzero],[r0])   
     21define([sp],[r1])
     22define([rcontext],[r2])
     23define([imm0],[r3])
     24define([imm1],[r4])
     25define([imm2],[r5])
     26define([imm3],[r6])
     27define([imm4],[r7])
     28define([imm5],[r8])
     29define([allocptr],[r9])
     30define([allocbase],[r10])
     31define([nargs],[r11])
     32define([tsp],[r12])      /* temp-consing stack. */
     33define([vsp],[r13])
     34define([loc_pc],[r14])   /* code vector locative */
     35define([fn],[r15])
     36define([temp4],[r16])
     37define([temp3],[r17])
     38define([temp2],[r18])
     39define([temp1],[r19])
     40define([temp0],[r20])
     41define([arg_x],[r21])
     42define([arg_y],[r22])
     43define([arg_z],[r23])
     44define([save7],[r24])
     45define([save6],[r25])
     46define([save5],[r26])
     47define([save4],[r27])
     48define([save3],[r28])
     49define([save2],[r29])
     50define([save1],[r30])
     51define([save0],[r31])
     52
     53define([fname],[temp3])
     54define([nfn],[temp2])
     55define([next_method_context],[temp1])
     56define([first_nvr],[save7])
     57define([nargregs],[3])
     58       
     59r0 = 0
     60r1 = 1
     61r2 = 2
     62r3 = 3
     63r4 = 4
     64r5 = 5
     65r6 = 6
     66r7 = 7
     67r8 = 8
     68r9 = 9
     69r10 = 10
     70r11 = 11
     71r12 = 12
     72r13 = 13
     73r14 = 14
     74r15 = 15
     75r16 = 16
     76r17 = 17
     77r18 = 18
     78r19 = 19
     79r20 = 20
     80r21 = 21
     81r22 = 22
     82r23 = 23
     83r24 = 24
     84r25 = 25
     85r26 = 26
     86r27 = 27
     87r28 = 28
     88r29 = 29
     89r30 = 30
     90r31 = 31
     91
     92/* Lisp code keeps 0.0 in fp_zero */
     93define([fp_zero],[f31])   /* a non-volatile reg as far as FFI is concerned. */
     94define([fp_s32conv],[f30])   /* for s32->fp conversion */
     95       
     96/* registers, as used in destrucuring-bind/macro-bind */
     97
     98define([whole_reg],[temp1])
     99define([arg_reg],[temp3])
     100define([keyvect_reg],[temp2])
     101define([mask_req_start],[24])
     102define([mask_req_width],[8])
     103define([mask_opt_start],[16])
     104define([mask_opt_width],[8])
     105define([mask_key_start],[8])
     106define([mask_key_width],[8])
     107define([mask_initopt],[7])
     108define([mask_keyp],[6]) /*  note that keyp can be true even when 0 keys. */
     109define([mask_aok],[5])
     110define([mask_restp],[4])
     111
     112ifdef([DARWIN],[
     113        define([STACK_ALIGN],16)
     114        define([STACK_ALIGN_MASK],15)
     115],[
     116        define([STACK_ALIGN],8)
     117        define([STACK_ALIGN_MASK],7)
     118])
     119
     120define([TCR_STATE_FOREIGN],1)
     121define([TCR_STATE_LISP],0)
     122define([TCR_STATE_EXCEPTION_WAIT],2)
     123define([TCR_STATE_EXCEPTION_RETURN],4)
     124       
    17125ifdef([PPC64],[
    18126        include(constants64.s)
Note: See TracChangeset for help on using the changeset viewer.