Changeset 14568


Ignore:
Timestamp:
Jan 10, 2011, 7:57:47 AM (9 years ago)
Author:
gb
Message:

When a symbol is exported from a shared library, the GNU futilities
turn branches/calls to that symbol into "far calls", which use
a sequence of a few instructions to do that call. This happens
even if the caller and callee are in the same file and are only
a few bytes apart; the little far call sequence also bashes r12
(aka allocptr), and we can't have that.

So ... don't export subprims; the handful that were .globl just
so that they could be called from code in arm-subprims.s don't
need to be exported if we move that code to arm-spentry.s (making
arm-subprims.s obsolete.)

Make sure that the jump tables in misc_ref_common and misc_set_common
use branches, not absolute addresses.

Location:
trunk/source/lisp-kernel
Files:
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/arm-spentry.s

    r14515 r14568  
    3232        .set delta,1024
    3333        .endif
    34         _exportfn(_SP$1)
     34        _startfn(_SP$1)
     35L__SP$1:                       
    3536        .line  __line__
    3637')
     
    7475       
    7576        .org sporg-delta+0x40
    76 _exportfn(udfcall)
     77_startfn(udfcall)
    7778        __(uuo_error_udf_call(al,fname))
    7879        __(jump_fname)
     
    31233124/*  EOF, basically  */
    31243125       
    3125 _exportfn(C(misc_ref_common))
    3126         __(adr imm0,(local_label(misc_ref_jmp)))
    3127         __(ldr pc,[imm0,imm1,lsl #2])
     3126_startfn(C(misc_ref_common))
     3127        __(add pc,pc,imm1,lsl #2)
     3128        __(nop)
    31283129
    31293130local_label(misc_ref_jmp):         
    31303131        /* 00-0f  */
    3131         .long local_label(misc_ref_invalid) /* 00 even_fixnum  */
     3132        __(b local_label(misc_ref_invalid)) /* 00 even_fixnum  */
    31323133       
    3133         .long local_label(misc_ref_invalid) /* 01 cons  */
    3134         .long local_label(misc_ref_invalid) /* 02 nodeheader  */
    3135         .long local_label(misc_ref_invalid) /* 03 imm  */
    3136         .long local_label(misc_ref_invalid) /* 04 odd_fixnum  */
    3137         .long local_label(misc_ref_invalid) /* 05 nil  */
    3138         .long local_label(misc_ref_invalid) /* 06 misc  */
    3139         .long local_label(misc_ref_u32) /* 07 bignum  */
    3140         .long local_label(misc_ref_invalid) /* 08 even_fixnum  */
    3141         .long local_label(misc_ref_invalid) /* 09 cons  */
    3142         .long local_label(misc_ref_node) /* 0a ratio  */
    3143         .long local_label(misc_ref_invalid) /* 0b imm  */
    3144         .long local_label(misc_ref_invalid) /* 0c odd_fixnum  */
    3145         .long local_label(misc_ref_invalid) /* 0d nil  */
    3146         .long local_label(misc_ref_invalid) /* 0e misc  */
    3147         .long local_label(misc_ref_u32) /* 0f single_float  */
     3134        __(b local_label(misc_ref_invalid)) /* 01 cons  */
     3135        __(b local_label(misc_ref_invalid)) /* 02 nodeheader  */
     3136        __(b local_label(misc_ref_invalid)) /* 03 imm  */
     3137        __(b local_label(misc_ref_invalid)) /* 04 odd_fixnum  */
     3138        __(b local_label(misc_ref_invalid)) /* 05 nil  */
     3139        __(b local_label(misc_ref_invalid)) /* 06 misc  */
     3140        __(b local_label(misc_ref_u32)) /* 07 bignum  */
     3141        __(b local_label(misc_ref_invalid)) /* 08 even_fixnum  */
     3142        __(b local_label(misc_ref_invalid)) /* 09 cons  */
     3143        __(b local_label(misc_ref_node)) /* 0a ratio  */
     3144        __(b local_label(misc_ref_invalid)) /* 0b imm  */
     3145        __(b local_label(misc_ref_invalid)) /* 0c odd_fixnum  */
     3146        __(b local_label(misc_ref_invalid)) /* 0d nil  */
     3147        __(b local_label(misc_ref_invalid)) /* 0e misc  */
     3148        __(b local_label(misc_ref_u32)) /* 0f single_float  */
    31483149        /* 10-1f  */
    3149         .long local_label(misc_ref_invalid) /* 10 even_fixnum  */
    3150         .long local_label(misc_ref_invalid) /* 11 cons  */
    3151         .long local_label(misc_ref_invalid) /* 12 nodeheader  */
    3152         .long local_label(misc_ref_invalid) /* 13 imm  */
    3153         .long local_label(misc_ref_invalid) /* 14 odd_fixnum  */
    3154         .long local_label(misc_ref_invalid) /* 15 nil  */
    3155         .long local_label(misc_ref_invalid) /* 16 misc  */
    3156         .long local_label(misc_ref_u32) /* 17 double_float  */
    3157         .long local_label(misc_ref_invalid) /* 18 even_fixnum  */
    3158         .long local_label(misc_ref_invalid) /* 19 cons  */
    3159         .long local_label(misc_ref_node) /* 1a complex  */
    3160         .long local_label(misc_ref_invalid) /* 1b imm  */
    3161         .long local_label(misc_ref_invalid) /* 1c odd_fixnum  */
    3162         .long local_label(misc_ref_invalid) /* 1d nil  */
    3163         .long local_label(misc_ref_invalid) /* 1e misc  */
    3164         .long local_label(misc_ref_u32) /* 1f macptr  */
     3150        __(b local_label(misc_ref_invalid)) /* 10 even_fixnum  */
     3151        __(b local_label(misc_ref_invalid)) /* 11 cons  */
     3152        __(b local_label(misc_ref_invalid)) /* 12 nodeheader  */
     3153        __(b local_label(misc_ref_invalid)) /* 13 imm  */
     3154        __(b local_label(misc_ref_invalid)) /* 14 odd_fixnum  */
     3155        __(b local_label(misc_ref_invalid)) /* 15 nil  */
     3156        __(b local_label(misc_ref_invalid)) /* 16 misc  */
     3157        __(b local_label(misc_ref_u32)) /* 17 double_float  */
     3158        __(b local_label(misc_ref_invalid)) /* 18 even_fixnum  */
     3159        __(b local_label(misc_ref_invalid)) /* 19 cons  */
     3160        __(b local_label(misc_ref_node)) /* 1a complex  */
     3161        __(b local_label(misc_ref_invalid)) /* 1b imm  */
     3162        __(b local_label(misc_ref_invalid)) /* 1c odd_fixnum  */
     3163        __(b local_label(misc_ref_invalid)) /* 1d nil  */
     3164        __(b local_label(misc_ref_invalid)) /* 1e misc  */
     3165        __(b local_label(misc_ref_u32)) /* 1f macptr  */
    31653166        /* 20-2f  */
    3166         .long local_label(misc_ref_invalid) /* 20 even_fixnum  */
    3167         .long local_label(misc_ref_invalid) /* 21 cons  */
    3168         .long local_label(misc_ref_node) /* 22 catch_frame  */
    3169         .long local_label(misc_ref_invalid) /* 23 imm  */
    3170         .long local_label(misc_ref_invalid) /* 24 odd_fixnum  */
    3171         .long local_label(misc_ref_invalid) /* 25 nil  */
    3172         .long local_label(misc_ref_invalid) /* 26 misc  */
    3173         .long local_label(misc_ref_u32) /* 27 dead_macptr  */
    3174         .long local_label(misc_ref_invalid) /* 28 even_fixnum  */
    3175         .long local_label(misc_ref_invalid) /* 29 cons  */
    3176         .long local_label(misc_ref_node) /* 2a function  */
    3177         .long local_label(misc_ref_invalid) /* 2b imm  */
    3178         .long local_label(misc_ref_invalid) /* 2c odd_fixnum  */
    3179         .long local_label(misc_ref_invalid) /* 2d nil  */
    3180         .long local_label(misc_ref_invalid) /* 2e misc  */
    3181         .long local_label(misc_ref_u32) /* 2f code_vector  */
     3167        __(b local_label(misc_ref_invalid)) /* 20 even_fixnum  */
     3168        __(b local_label(misc_ref_invalid)) /* 21 cons  */
     3169        __(b local_label(misc_ref_node)) /* 22 catch_frame  */
     3170        __(b local_label(misc_ref_invalid)) /* 23 imm  */
     3171        __(b local_label(misc_ref_invalid)) /* 24 odd_fixnum  */
     3172        __(b local_label(misc_ref_invalid)) /* 25 nil  */
     3173        __(b local_label(misc_ref_invalid)) /* 26 misc  */
     3174        __(b local_label(misc_ref_u32)) /* 27 dead_macptr  */
     3175        __(b local_label(misc_ref_invalid)) /* 28 even_fixnum  */
     3176        __(b local_label(misc_ref_invalid)) /* 29 cons  */
     3177        __(b local_label(misc_ref_node)) /* 2a function  */
     3178        __(b local_label(misc_ref_invalid)) /* 2b imm  */
     3179        __(b local_label(misc_ref_invalid)) /* 2c odd_fixnum  */
     3180        __(b local_label(misc_ref_invalid)) /* 2d nil  */
     3181        __(b local_label(misc_ref_invalid)) /* 2e misc  */
     3182        __(b local_label(misc_ref_u32)) /* 2f code_vector  */
    31823183        /* 30-3f  */
    3183         .long local_label(misc_ref_invalid) /* 30 even_fixnum  */
    3184         .long local_label(misc_ref_invalid) /* 31 cons  */
    3185         .long local_label(misc_ref_node) /* 32 lisp_thread  */
    3186         .long local_label(misc_ref_invalid) /* 33 imm  */
    3187         .long local_label(misc_ref_invalid) /* 34 odd_fixnum  */
    3188         .long local_label(misc_ref_invalid) /* 35 nil  */
    3189         .long local_label(misc_ref_invalid) /* 36 misc  */
    3190         .long local_label(misc_ref_u32) /* 37 creole  */
    3191         .long local_label(misc_ref_invalid) /* 38 even_fixnum  */
    3192         .long local_label(misc_ref_invalid) /* 39 cons  */
    3193         .long local_label(misc_ref_node) /* 3a symbol  */
    3194         .long local_label(misc_ref_invalid) /* 3b imm  */
    3195         .long local_label(misc_ref_invalid) /* 3c odd_fixnum  */
    3196         .long local_label(misc_ref_invalid) /* 3d nil  */
    3197         .long local_label(misc_ref_invalid) /* 3e misc  */
    3198         .long local_label(misc_ref_u32) /* 3f xcode_vector  */
     3184        __(b local_label(misc_ref_invalid)) /* 30 even_fixnum  */
     3185        __(b local_label(misc_ref_invalid)) /* 31 cons  */
     3186        __(b local_label(misc_ref_node)) /* 32 lisp_thread  */
     3187        __(b local_label(misc_ref_invalid)) /* 33 imm  */
     3188        __(b local_label(misc_ref_invalid)) /* 34 odd_fixnum  */
     3189        __(b local_label(misc_ref_invalid)) /* 35 nil  */
     3190        __(b local_label(misc_ref_invalid)) /* 36 misc  */
     3191        __(b local_label(misc_ref_u32)) /* 37 creole  */
     3192        __(b local_label(misc_ref_invalid)) /* 38 even_fixnum  */
     3193        __(b local_label(misc_ref_invalid)) /* 39 cons  */
     3194        __(b local_label(misc_ref_node)) /* 3a symbol  */
     3195        __(b local_label(misc_ref_invalid)) /* 3b imm  */
     3196        __(b local_label(misc_ref_invalid)) /* 3c odd_fixnum  */
     3197        __(b local_label(misc_ref_invalid)) /* 3d nil  */
     3198        __(b local_label(misc_ref_invalid)) /* 3e misc  */
     3199        __(b local_label(misc_ref_u32)) /* 3f xcode_vector  */
    31993200        /* 40-4f  */
    3200         .long local_label(misc_ref_invalid) /* 40 even_fixnum  */
    3201         .long local_label(misc_ref_invalid) /* 41 cons  */
    3202         .long local_label(misc_ref_node) /* 42 lock  */
    3203         .long local_label(misc_ref_invalid) /* 43 imm  */
    3204         .long local_label(misc_ref_invalid) /* 44 odd_fixnum  */
    3205         .long local_label(misc_ref_invalid) /* 45 nil  */
    3206         .long local_label(misc_ref_invalid) /* 46 misc  */
    3207         .long local_label(misc_ref_invalid) /* 47 immheader  */
    3208         .long local_label(misc_ref_invalid) /* 48 even_fixnum  */
    3209         .long local_label(misc_ref_invalid) /* 49 cons  */
    3210         .long local_label(misc_ref_node) /* 4a hash_vector  */
    3211         .long local_label(misc_ref_invalid) /* 4b imm  */
    3212         .long local_label(misc_ref_invalid) /* 4c odd_fixnum  */
    3213         .long local_label(misc_ref_invalid) /* 4d nil  */
    3214         .long local_label(misc_ref_invalid) /* 4e misc  */
    3215         .long local_label(misc_ref_invalid) /* 4f immheader  */
     3201        __(b local_label(misc_ref_invalid)) /* 40 even_fixnum  */
     3202        __(b local_label(misc_ref_invalid)) /* 41 cons  */
     3203        __(b local_label(misc_ref_node)) /* 42 lock  */
     3204        __(b local_label(misc_ref_invalid)) /* 43 imm  */
     3205        __(b local_label(misc_ref_invalid)) /* 44 odd_fixnum  */
     3206        __(b local_label(misc_ref_invalid)) /* 45 nil  */
     3207        __(b local_label(misc_ref_invalid)) /* 46 misc  */
     3208        __(b local_label(misc_ref_invalid)) /* 47 immheader  */
     3209        __(b local_label(misc_ref_invalid)) /* 48 even_fixnum  */
     3210        __(b local_label(misc_ref_invalid)) /* 49 cons  */
     3211        __(b local_label(misc_ref_node)) /* 4a hash_vector  */
     3212        __(b local_label(misc_ref_invalid)) /* 4b imm  */
     3213        __(b local_label(misc_ref_invalid)) /* 4c odd_fixnum  */
     3214        __(b local_label(misc_ref_invalid)) /* 4d nil  */
     3215        __(b local_label(misc_ref_invalid)) /* 4e misc  */
     3216        __(b local_label(misc_ref_invalid)) /* 4f immheader  */
    32163217        /* 50-5f  */
    3217         .long local_label(misc_ref_invalid) /* 50 even_fixnum  */
    3218         .long local_label(misc_ref_invalid) /* 51 cons  */
    3219         .long local_label(misc_ref_node) /* 52 pool  */
    3220         .long local_label(misc_ref_invalid) /* 53 imm  */
    3221         .long local_label(misc_ref_invalid) /* 54 odd_fixnum  */
    3222         .long local_label(misc_ref_invalid) /* 55 nil  */
    3223         .long local_label(misc_ref_invalid) /* 56 misc  */
    3224         .long local_label(misc_ref_invalid) /* 57 immheader  */
    3225         .long local_label(misc_ref_invalid) /* 58 even_fixnum  */
    3226         .long local_label(misc_ref_invalid) /* 59 cons  */
    3227         .long local_label(misc_ref_node) /* 5a weak  */
    3228         .long local_label(misc_ref_invalid) /* 5b imm  */
    3229         .long local_label(misc_ref_invalid) /* 5c odd_fixnum  */
    3230         .long local_label(misc_ref_invalid) /* 5d nil  */
    3231         .long local_label(misc_ref_invalid) /* 5e misc  */
    3232         .long local_label(misc_ref_invalid) /* 5f immheader  */
     3218        __(b local_label(misc_ref_invalid)) /* 50 even_fixnum  */
     3219        __(b local_label(misc_ref_invalid)) /* 51 cons  */
     3220        __(b local_label(misc_ref_node)) /* 52 pool  */
     3221        __(b local_label(misc_ref_invalid)) /* 53 imm  */
     3222        __(b local_label(misc_ref_invalid)) /* 54 odd_fixnum  */
     3223        __(b local_label(misc_ref_invalid)) /* 55 nil  */
     3224        __(b local_label(misc_ref_invalid)) /* 56 misc  */
     3225        __(b local_label(misc_ref_invalid)) /* 57 immheader  */
     3226        __(b local_label(misc_ref_invalid)) /* 58 even_fixnum  */
     3227        __(b local_label(misc_ref_invalid)) /* 59 cons  */
     3228        __(b local_label(misc_ref_node)) /* 5a weak  */
     3229        __(b local_label(misc_ref_invalid)) /* 5b imm  */
     3230        __(b local_label(misc_ref_invalid)) /* 5c odd_fixnum  */
     3231        __(b local_label(misc_ref_invalid)) /* 5d nil  */
     3232        __(b local_label(misc_ref_invalid)) /* 5e misc  */
     3233        __(b local_label(misc_ref_invalid)) /* 5f immheader  */
    32333234        /* 60-6f  */
    3234         .long local_label(misc_ref_invalid) /* 60 even_fixnum  */
    3235         .long local_label(misc_ref_invalid) /* 61 cons  */
    3236         .long local_label(misc_ref_node) /* 62 package  */
    3237         .long local_label(misc_ref_invalid) /* 63 imm  */
    3238         .long local_label(misc_ref_invalid) /* 64 odd_fixnum  */
    3239         .long local_label(misc_ref_invalid) /* 65 nil  */
    3240         .long local_label(misc_ref_invalid) /* 66 misc  */
    3241         .long local_label(misc_ref_invalid) /* 67 immheader  */
    3242         .long local_label(misc_ref_invalid) /* 68 even_fixnum  */
    3243         .long local_label(misc_ref_invalid) /* 69 cons  */
    3244         .long local_label(misc_ref_node) /* 6a slot_vector  */
    3245         .long local_label(misc_ref_invalid) /* 6b imm  */
    3246         .long local_label(misc_ref_invalid) /* 6c odd_fixnum  */
    3247         .long local_label(misc_ref_invalid) /* 6d nil  */
    3248         .long local_label(misc_ref_invalid) /* 6e misc  */
    3249         .long local_label(misc_ref_invalid) /* 6f immheader  */
     3235        __(b local_label(misc_ref_invalid)) /* 60 even_fixnum  */
     3236        __(b local_label(misc_ref_invalid)) /* 61 cons  */
     3237        __(b local_label(misc_ref_node)) /* 62 package  */
     3238        __(b local_label(misc_ref_invalid)) /* 63 imm  */
     3239        __(b local_label(misc_ref_invalid)) /* 64 odd_fixnum  */
     3240        __(b local_label(misc_ref_invalid)) /* 65 nil  */
     3241        __(b local_label(misc_ref_invalid)) /* 66 misc  */
     3242        __(b local_label(misc_ref_invalid)) /* 67 immheader  */
     3243        __(b local_label(misc_ref_invalid)) /* 68 even_fixnum  */
     3244        __(b local_label(misc_ref_invalid)) /* 69 cons  */
     3245        __(b local_label(misc_ref_node)) /* 6a slot_vector  */
     3246        __(b local_label(misc_ref_invalid)) /* 6b imm  */
     3247        __(b local_label(misc_ref_invalid)) /* 6c odd_fixnum  */
     3248        __(b local_label(misc_ref_invalid)) /* 6d nil  */
     3249        __(b local_label(misc_ref_invalid)) /* 6e misc  */
     3250        __(b local_label(misc_ref_invalid)) /* 6f immheader  */
    32503251        /* 70-7f  */
    3251         .long local_label(misc_ref_invalid) /* 70 even_fixnum  */
    3252         .long local_label(misc_ref_invalid) /* 71 cons  */
    3253         .long local_label(misc_ref_node) /* 72 instance  */
    3254         .long local_label(misc_ref_invalid) /* 73 imm  */
    3255         .long local_label(misc_ref_invalid) /* 74 odd_fixnum  */
    3256         .long local_label(misc_ref_invalid) /* 75 nil  */
    3257         .long local_label(misc_ref_invalid) /* 76 misc  */
    3258         .long local_label(misc_ref_invalid) /* 77 immheader  */
    3259         .long local_label(misc_ref_invalid) /* 78 even_fixnum  */
    3260         .long local_label(misc_ref_invalid) /* 79 cons  */
    3261         .long local_label(misc_ref_node) /* 7a struct  */
    3262         .long local_label(misc_ref_invalid) /* 7b imm  */
    3263         .long local_label(misc_ref_invalid) /* 7c odd_fixnum  */
    3264         .long local_label(misc_ref_invalid) /* 7d nil  */
    3265         .long local_label(misc_ref_invalid) /* 7e misc  */
    3266         .long local_label(misc_ref_invalid) /* 7f immheader  */
     3252        __(b local_label(misc_ref_invalid)) /* 70 even_fixnum  */
     3253        __(b local_label(misc_ref_invalid)) /* 71 cons  */
     3254        __(b local_label(misc_ref_node)) /* 72 instance  */
     3255        __(b local_label(misc_ref_invalid)) /* 73 imm  */
     3256        __(b local_label(misc_ref_invalid)) /* 74 odd_fixnum  */
     3257        __(b local_label(misc_ref_invalid)) /* 75 nil  */
     3258        __(b local_label(misc_ref_invalid)) /* 76 misc  */
     3259        __(b local_label(misc_ref_invalid)) /* 77 immheader  */
     3260        __(b local_label(misc_ref_invalid)) /* 78 even_fixnum  */
     3261        __(b local_label(misc_ref_invalid)) /* 79 cons  */
     3262        __(b local_label(misc_ref_node)) /* 7a struct  */
     3263        __(b local_label(misc_ref_invalid)) /* 7b imm  */
     3264        __(b local_label(misc_ref_invalid)) /* 7c odd_fixnum  */
     3265        __(b local_label(misc_ref_invalid)) /* 7d nil  */
     3266        __(b local_label(misc_ref_invalid)) /* 7e misc  */
     3267        __(b local_label(misc_ref_invalid)) /* 7f immheader  */
    32673268        /* 80-8f  */
    3268         .long local_label(misc_ref_invalid) /* 80 even_fixnum  */
    3269         .long local_label(misc_ref_invalid) /* 81 cons  */
    3270         .long local_label(misc_ref_node) /* 82 istruct  */
    3271         .long local_label(misc_ref_invalid) /* 83 imm  */
    3272         .long local_label(misc_ref_invalid) /* 84 odd_fixnum  */
    3273         .long local_label(misc_ref_invalid) /* 85 nil  */
    3274         .long local_label(misc_ref_invalid) /* 86 misc  */
    3275         .long local_label(misc_ref_invalid) /* 87 immheader  */
    3276         .long local_label(misc_ref_invalid) /* 88 even_fixnum  */
    3277         .long local_label(misc_ref_invalid) /* 89 cons  */
    3278         .long local_label(misc_ref_node) /* 8a value_cell  */
    3279         .long local_label(misc_ref_invalid) /* 8b imm  */
    3280         .long local_label(misc_ref_invalid) /* 8c odd_fixnum  */
    3281         .long local_label(misc_ref_invalid) /* 8d nil  */
    3282         .long local_label(misc_ref_invalid) /* 8e misc  */
    3283         .long local_label(misc_ref_invalid) /* 8f immheader  */
     3269        __(b local_label(misc_ref_invalid)) /* 80 even_fixnum  */
     3270        __(b local_label(misc_ref_invalid)) /* 81 cons  */
     3271        __(b local_label(misc_ref_node)) /* 82 istruct  */
     3272        __(b local_label(misc_ref_invalid)) /* 83 imm  */
     3273        __(b local_label(misc_ref_invalid)) /* 84 odd_fixnum  */
     3274        __(b local_label(misc_ref_invalid)) /* 85 nil  */
     3275        __(b local_label(misc_ref_invalid)) /* 86 misc  */
     3276        __(b local_label(misc_ref_invalid)) /* 87 immheader  */
     3277        __(b local_label(misc_ref_invalid)) /* 88 even_fixnum  */
     3278        __(b local_label(misc_ref_invalid)) /* 89 cons  */
     3279        __(b local_label(misc_ref_node)) /* 8a value_cell  */
     3280        __(b local_label(misc_ref_invalid)) /* 8b imm  */
     3281        __(b local_label(misc_ref_invalid)) /* 8c odd_fixnum  */
     3282        __(b local_label(misc_ref_invalid)) /* 8d nil  */
     3283        __(b local_label(misc_ref_invalid)) /* 8e misc  */
     3284        __(b local_label(misc_ref_invalid)) /* 8f immheader  */
    32843285        /* 90-9f  */
    3285         .long local_label(misc_ref_invalid) /* 90 even_fixnum  */
    3286         .long local_label(misc_ref_invalid) /* 91 cons  */
    3287         .long local_label(misc_ref_node) /* 92 xfunction  */
    3288         .long local_label(misc_ref_invalid) /* 93 imm  */
    3289         .long local_label(misc_ref_invalid) /* 94 odd_fixnum  */
    3290         .long local_label(misc_ref_invalid) /* 95 nil  */
    3291         .long local_label(misc_ref_invalid) /* 96 misc  */
    3292         .long local_label(misc_ref_invalid) /* 97 immheader  */
    3293         .long local_label(misc_ref_invalid) /* 98 even_fixnum  */
    3294         .long local_label(misc_ref_invalid) /* 99 cons  */
    3295         .long local_label(misc_ref_node) /* 9a arrayN  */
    3296         .long local_label(misc_ref_invalid) /* 9b imm  */
    3297         .long local_label(misc_ref_invalid) /* 9c odd_fixnum  */
    3298         .long local_label(misc_ref_invalid) /* 9d nil  */
    3299         .long local_label(misc_ref_invalid) /* 9e misc  */
    3300         .long local_label(misc_ref_invalid) /* 9f immheader  */
     3286        __(b local_label(misc_ref_invalid)) /* 90 even_fixnum  */
     3287        __(b local_label(misc_ref_invalid)) /* 91 cons  */
     3288        __(b local_label(misc_ref_node)) /* 92 xfunction  */
     3289        __(b local_label(misc_ref_invalid)) /* 93 imm  */
     3290        __(b local_label(misc_ref_invalid)) /* 94 odd_fixnum  */
     3291        __(b local_label(misc_ref_invalid)) /* 95 nil  */
     3292        __(b local_label(misc_ref_invalid)) /* 96 misc  */
     3293        __(b local_label(misc_ref_invalid)) /* 97 immheader  */
     3294        __(b local_label(misc_ref_invalid)) /* 98 even_fixnum  */
     3295        __(b local_label(misc_ref_invalid)) /* 99 cons  */
     3296        __(b local_label(misc_ref_node)) /* 9a arrayN  */
     3297        __(b local_label(misc_ref_invalid)) /* 9b imm  */
     3298        __(b local_label(misc_ref_invalid)) /* 9c odd_fixnum  */
     3299        __(b local_label(misc_ref_invalid)) /* 9d nil  */
     3300        __(b local_label(misc_ref_invalid)) /* 9e misc  */
     3301        __(b local_label(misc_ref_invalid)) /* 9f immheader  */
    33013302        /* a0-af  */
    3302         .long local_label(misc_ref_invalid) /* a0 even_fixnum  */
    3303         .long local_label(misc_ref_invalid) /* a1 cons  */
    3304         .long local_label(misc_ref_node) /* a2 vectorH  */
    3305         .long local_label(misc_ref_invalid) /* a3 imm  */
    3306         .long local_label(misc_ref_invalid) /* a4 odd_fixnum  */
    3307         .long local_label(misc_ref_invalid) /* a5 nil  */
    3308         .long local_label(misc_ref_invalid) /* a6 misc  */
    3309         .long local_label(misc_ref_single_float_vector) /* a7 sf_vector  */
    3310         .long local_label(misc_ref_invalid) /* a8 even_fixnum  */
    3311         .long local_label(misc_ref_invalid) /* a9 cons  */
    3312         .long local_label(misc_ref_node) /* aa simple_vector  */
    3313         .long local_label(misc_ref_invalid) /* ab imm  */
    3314         .long local_label(misc_ref_invalid) /* ac odd_fixnum  */
    3315         .long local_label(misc_ref_invalid) /* ad nil  */
    3316         .long local_label(misc_ref_invalid) /* ae misc  */
    3317         .long local_label(misc_ref_u32) /* af u32  */
     3303        __(b local_label(misc_ref_invalid)) /* a0 even_fixnum  */
     3304        __(b local_label(misc_ref_invalid)) /* a1 cons  */
     3305        __(b local_label(misc_ref_node)) /* a2 vectorH  */
     3306        __(b local_label(misc_ref_invalid)) /* a3 imm  */
     3307        __(b local_label(misc_ref_invalid)) /* a4 odd_fixnum  */
     3308        __(b local_label(misc_ref_invalid)) /* a5 nil  */
     3309        __(b local_label(misc_ref_invalid)) /* a6 misc  */
     3310        __(b local_label(misc_ref_single_float_vector)) /* a7 sf_vector  */
     3311        __(b local_label(misc_ref_invalid)) /* a8 even_fixnum  */
     3312        __(b local_label(misc_ref_invalid)) /* a9 cons  */
     3313        __(b local_label(misc_ref_node)) /* aa simple_vector  */
     3314        __(b local_label(misc_ref_invalid)) /* ab imm  */
     3315        __(b local_label(misc_ref_invalid)) /* ac odd_fixnum  */
     3316        __(b local_label(misc_ref_invalid)) /* ad nil  */
     3317        __(b local_label(misc_ref_invalid)) /* ae misc  */
     3318        __(b local_label(misc_ref_u32)) /* af u32  */
    33183319        /* b0-bf  */
    3319         .long local_label(misc_ref_invalid) /* b0 even_fixnum  */
    3320         .long local_label(misc_ref_invalid) /* b1 cons  */
    3321         .long local_label(misc_ref_invalid) /* b2 nodeheader  */
    3322         .long local_label(misc_ref_invalid) /* b3 imm  */
    3323         .long local_label(misc_ref_invalid) /* b4 odd_fixnum  */
    3324         .long local_label(misc_ref_invalid) /* b5 nil  */
    3325         .long local_label(misc_ref_invalid) /* b6 misc  */
    3326         .long local_label(misc_ref_s32) /* b7 s32  */
    3327         .long local_label(misc_ref_invalid) /* b8 even_fixnum  */
    3328         .long local_label(misc_ref_invalid) /* b9 cons  */
    3329         .long local_label(misc_ref_invalid) /* ba nodeheader  */
    3330         .long local_label(misc_ref_invalid) /* bb imm  */
    3331         .long local_label(misc_ref_invalid) /* bc odd_fixnum  */
    3332         .long local_label(misc_ref_invalid) /* bd nil  */
    3333         .long local_label(misc_ref_invalid) /* be misc  */
    3334         .long local_label(misc_ref_fixnum_vector) /* bf fixnum_vector  */
     3320        __(b local_label(misc_ref_invalid)) /* b0 even_fixnum  */
     3321        __(b local_label(misc_ref_invalid)) /* b1 cons  */
     3322        __(b local_label(misc_ref_invalid)) /* b2 nodeheader  */
     3323        __(b local_label(misc_ref_invalid)) /* b3 imm  */
     3324        __(b local_label(misc_ref_invalid)) /* b4 odd_fixnum  */
     3325        __(b local_label(misc_ref_invalid)) /* b5 nil  */
     3326        __(b local_label(misc_ref_invalid)) /* b6 misc  */
     3327        __(b local_label(misc_ref_s32)) /* b7 s32  */
     3328        __(b local_label(misc_ref_invalid)) /* b8 even_fixnum  */
     3329        __(b local_label(misc_ref_invalid)) /* b9 cons  */
     3330        __(b local_label(misc_ref_invalid)) /* ba nodeheader  */
     3331        __(b local_label(misc_ref_invalid)) /* bb imm  */
     3332        __(b local_label(misc_ref_invalid)) /* bc odd_fixnum  */
     3333        __(b local_label(misc_ref_invalid)) /* bd nil  */
     3334        __(b local_label(misc_ref_invalid)) /* be misc  */
     3335        __(b local_label(misc_ref_fixnum_vector)) /* bf fixnum_vector  */
    33353336        /* c0-cf  */
    3336         .long local_label(misc_ref_invalid) /* c0 even_fixnum  */
    3337         .long local_label(misc_ref_invalid) /* c1 cons  */
    3338         .long local_label(misc_ref_invalid) /* c2 nodeheader  */
    3339         .long local_label(misc_ref_invalid) /* c3 imm  */
    3340         .long local_label(misc_ref_invalid) /* c4 odd_fixnum  */
    3341         .long local_label(misc_ref_invalid) /* c5 nil  */
    3342         .long local_label(misc_ref_invalid) /* c6 misc  */
    3343         .long local_label(misc_ref_new_string) /* c7 new_string  */
    3344         .long local_label(misc_ref_invalid) /* c8 even_fixnum  */
    3345         .long local_label(misc_ref_invalid) /* c9 cons  */
    3346         .long local_label(misc_ref_invalid) /* ca nodeheader  */
    3347         .long local_label(misc_ref_invalid) /* cb imm  */
    3348         .long local_label(misc_ref_invalid) /* cc odd_fixnum  */
    3349         .long local_label(misc_ref_invalid) /* cd nil  */
    3350         .long local_label(misc_ref_invalid) /* ce misc  */
    3351         .long local_label(misc_ref_u8) /* cf u8  */
     3337        __(b local_label(misc_ref_invalid)) /* c0 even_fixnum  */
     3338        __(b local_label(misc_ref_invalid)) /* c1 cons  */
     3339        __(b local_label(misc_ref_invalid)) /* c2 nodeheader  */
     3340        __(b local_label(misc_ref_invalid)) /* c3 imm  */
     3341        __(b local_label(misc_ref_invalid)) /* c4 odd_fixnum  */
     3342        __(b local_label(misc_ref_invalid)) /* c5 nil  */
     3343        __(b local_label(misc_ref_invalid)) /* c6 misc  */
     3344        __(b local_label(misc_ref_new_string)) /* c7 new_string  */
     3345        __(b local_label(misc_ref_invalid)) /* c8 even_fixnum  */
     3346        __(b local_label(misc_ref_invalid)) /* c9 cons  */
     3347        __(b local_label(misc_ref_invalid)) /* ca nodeheader  */
     3348        __(b local_label(misc_ref_invalid)) /* cb imm  */
     3349        __(b local_label(misc_ref_invalid)) /* cc odd_fixnum  */
     3350        __(b local_label(misc_ref_invalid)) /* cd nil  */
     3351        __(b local_label(misc_ref_invalid)) /* ce misc  */
     3352        __(b local_label(misc_ref_u8)) /* cf u8  */
    33523353        /* d0-df  */
    3353         .long local_label(misc_ref_invalid) /* d0 even_fixnum  */
    3354         .long local_label(misc_ref_invalid) /* d1 cons  */
    3355         .long local_label(misc_ref_invalid) /* d2 nodeheader  */
    3356         .long local_label(misc_ref_invalid) /* d3 imm  */
    3357         .long local_label(misc_ref_invalid) /* d4 odd_fixnum  */
    3358         .long local_label(misc_ref_invalid) /* d5 nil  */
    3359         .long local_label(misc_ref_invalid) /* d6 misc  */
    3360         .long local_label(misc_ref_s8)      /* d7 s8  */
    3361         .long local_label(misc_ref_invalid) /* d8 even_fixnum  */
    3362         .long local_label(misc_ref_invalid) /* d9 cons  */
    3363         .long local_label(misc_ref_invalid) /* da nodeheader  */
    3364         .long local_label(misc_ref_invalid) /* db imm  */
    3365         .long local_label(misc_ref_invalid) /* dc odd_fixnum  */
    3366         .long local_label(misc_ref_invalid) /* dd nil  */
    3367         .long local_label(misc_ref_invalid) /* de misc  */
    3368         .long local_label(misc_ref_old_string) /* df (old)subtag_simple_base_string  */
     3354        __(b local_label(misc_ref_invalid)) /* d0 even_fixnum  */
     3355        __(b local_label(misc_ref_invalid)) /* d1 cons  */
     3356        __(b local_label(misc_ref_invalid)) /* d2 nodeheader  */
     3357        __(b local_label(misc_ref_invalid)) /* d3 imm  */
     3358        __(b local_label(misc_ref_invalid)) /* d4 odd_fixnum  */
     3359        __(b local_label(misc_ref_invalid)) /* d5 nil  */
     3360        __(b local_label(misc_ref_invalid)) /* d6 misc  */
     3361        __(b local_label(misc_ref_s8))      /* d7 s8  */
     3362        __(b local_label(misc_ref_invalid)) /* d8 even_fixnum  */
     3363        __(b local_label(misc_ref_invalid)) /* d9 cons  */
     3364        __(b local_label(misc_ref_invalid)) /* da nodeheader  */
     3365        __(b local_label(misc_ref_invalid)) /* db imm  */
     3366        __(b local_label(misc_ref_invalid)) /* dc odd_fixnum  */
     3367        __(b local_label(misc_ref_invalid)) /* dd nil  */
     3368        __(b local_label(misc_ref_invalid)) /* de misc  */
     3369        __(b local_label(misc_ref_old_string)) /* df (old)subtag_simple_base_string  */
    33693370        /* e0-ef  */
    3370         .long local_label(misc_ref_invalid) /* e0 even_fixnum  */
    3371         .long local_label(misc_ref_invalid) /* e1 cons  */
    3372         .long local_label(misc_ref_invalid) /* e2 nodeheader  */
    3373         .long local_label(misc_ref_invalid) /* e3 imm  */
    3374         .long local_label(misc_ref_invalid) /* e4 odd_fixnum  */
    3375         .long local_label(misc_ref_invalid) /* e5 nil  */
    3376         .long local_label(misc_ref_invalid) /* e6 misc  */
    3377         .long local_label(misc_ref_u16) /* e7 u16  */
    3378         .long local_label(misc_ref_invalid) /* e8 even_fixnum  */
    3379         .long local_label(misc_ref_invalid) /* e9 cons  */
    3380         .long local_label(misc_ref_invalid) /* ea nodeheader  */
    3381         .long local_label(misc_ref_invalid) /* eb imm  */
    3382         .long local_label(misc_ref_invalid) /* ec odd_fixnum  */
    3383         .long local_label(misc_ref_invalid) /* ed nil  */
    3384         .long local_label(misc_ref_invalid) /* ee misc  */
    3385         .long local_label(misc_ref_s16) /* ef s16  */
     3371        __(b local_label(misc_ref_invalid)) /* e0 even_fixnum  */
     3372        __(b local_label(misc_ref_invalid)) /* e1 cons  */
     3373        __(b local_label(misc_ref_invalid)) /* e2 nodeheader  */
     3374        __(b local_label(misc_ref_invalid)) /* e3 imm  */
     3375        __(b local_label(misc_ref_invalid)) /* e4 odd_fixnum  */
     3376        __(b local_label(misc_ref_invalid)) /* e5 nil  */
     3377        __(b local_label(misc_ref_invalid)) /* e6 misc  */
     3378        __(b local_label(misc_ref_u16)) /* e7 u16  */
     3379        __(b local_label(misc_ref_invalid)) /* e8 even_fixnum  */
     3380        __(b local_label(misc_ref_invalid)) /* e9 cons  */
     3381        __(b local_label(misc_ref_invalid)) /* ea nodeheader  */
     3382        __(b local_label(misc_ref_invalid)) /* eb imm  */
     3383        __(b local_label(misc_ref_invalid)) /* ec odd_fixnum  */
     3384        __(b local_label(misc_ref_invalid)) /* ed nil  */
     3385        __(b local_label(misc_ref_invalid)) /* ee misc  */
     3386        __(b local_label(misc_ref_s16)) /* ef s16  */
    33863387        /* f0-ff  */
    3387         .long local_label(misc_ref_invalid) /* f0 even_fixnum  */
    3388         .long local_label(misc_ref_invalid) /* f1 cons  */
    3389         .long local_label(misc_ref_invalid) /* f2 nodeheader  */
    3390         .long local_label(misc_ref_invalid) /* f3 imm  */
    3391         .long local_label(misc_ref_invalid) /* f4 odd_fixnum  */
    3392         .long local_label(misc_ref_invalid) /* f5 nil  */
    3393         .long local_label(misc_ref_invalid) /* f6 misc  */
    3394         .long local_label(misc_ref_double_float_vector) /* f7 df vector  */
    3395         .long local_label(misc_ref_invalid) /* f8 even_fixnum  */
    3396         .long local_label(misc_ref_invalid) /* f9 cons  */
    3397         .long local_label(misc_ref_invalid) /* fa nodeheader  */
    3398         .long local_label(misc_ref_invalid) /* fb imm  */
    3399         .long local_label(misc_ref_invalid) /* fc odd_fixnum  */
    3400         .long local_label(misc_ref_invalid) /* fd nil  */
    3401         .long local_label(misc_ref_invalid) /* fe misc  */
    3402         .long local_label(misc_ref_bit_vector) /* ff bit_vector  */
     3388        __(b local_label(misc_ref_invalid)) /* f0 even_fixnum  */
     3389        __(b local_label(misc_ref_invalid)) /* f1 cons  */
     3390        __(b local_label(misc_ref_invalid)) /* f2 nodeheader  */
     3391        __(b local_label(misc_ref_invalid)) /* f3 imm  */
     3392        __(b local_label(misc_ref_invalid)) /* f4 odd_fixnum  */
     3393        __(b local_label(misc_ref_invalid)) /* f5 nil  */
     3394        __(b local_label(misc_ref_invalid)) /* f6 misc  */
     3395        __(b local_label(misc_ref_double_float_vector)) /* f7 df vector  */
     3396        __(b local_label(misc_ref_invalid)) /* f8 even_fixnum  */
     3397        __(b local_label(misc_ref_invalid)) /* f9 cons  */
     3398        __(b local_label(misc_ref_invalid)) /* fa nodeheader  */
     3399        __(b local_label(misc_ref_invalid)) /* fb imm  */
     3400        __(b local_label(misc_ref_invalid)) /* fc odd_fixnum  */
     3401        __(b local_label(misc_ref_invalid)) /* fd nil  */
     3402        __(b local_label(misc_ref_invalid)) /* fe misc  */
     3403        __(b local_label(misc_ref_bit_vector)) /* ff bit_vector  */
    34033404
    34043405local_label(misc_ref_node):       
     
    34913492_endfn
    34923493       
    3493 _exportfn(C(misc_set_common))
    3494         __(adr imm0,local_label(misc_set_jmp))
    3495         __(ldr pc,[imm0,imm1,lsl #2])
     3494_startfn(C(misc_set_common))
     3495        __(add pc,pc,imm1,lsl #2)
     3496        __(nop)
    34963497local_label(misc_set_jmp):             
    34973498        /* 00-0f  */
    3498         .long local_label(misc_set_invalid) /* 00 even_fixnum  */
    3499         .long local_label(misc_set_invalid) /* 01 cons  */
    3500         .long local_label(misc_set_invalid) /* 02 nodeheader  */
    3501         .long local_label(misc_set_invalid) /* 03 imm  */
    3502         .long local_label(misc_set_invalid) /* 04 odd_fixnum  */
    3503         .long local_label(misc_set_invalid) /* 05 nil  */
    3504         .long local_label(misc_set_invalid) /* 06 misc  */
    3505         .long local_label(misc_set_u32) /* 07 bignum  */
    3506         .long local_label(misc_set_invalid) /* 08 even_fixnum  */
    3507         .long local_label(misc_set_invalid) /* 09 cons  */
    3508         .long _SPgvset /* 0a ratio  */
    3509         .long local_label(misc_set_invalid) /* 0b imm  */
    3510         .long local_label(misc_set_invalid) /* 0c odd_fixnum  */
    3511         .long local_label(misc_set_invalid) /* 0d nil  */
    3512         .long local_label(misc_set_invalid) /* 0e misc  */
    3513         .long local_label(misc_set_u32) /* 0f single_float  */
     3499        __(b local_label(misc_set_invalid)) /* 00 even_fixnum  */
     3500        __(b local_label(misc_set_invalid)) /* 01 cons  */
     3501        __(b local_label(misc_set_invalid)) /* 02 nodeheader  */
     3502        __(b local_label(misc_set_invalid)) /* 03 imm  */
     3503        __(b local_label(misc_set_invalid)) /* 04 odd_fixnum  */
     3504        __(b local_label(misc_set_invalid)) /* 05 nil  */
     3505        __(b local_label(misc_set_invalid)) /* 06 misc  */
     3506        __(b local_label(misc_set_u32)) /* 07 bignum  */
     3507        __(b local_label(misc_set_invalid)) /* 08 even_fixnum  */
     3508        __(b local_label(misc_set_invalid)) /* 09 cons  */
     3509        __(b _SPgvset) /* 0a ratio  */
     3510        __(b  local_label(misc_set_invalid)) /* 0b imm  */
     3511        __(b local_label(misc_set_invalid)) /* 0c odd_fixnum  */
     3512        __(b local_label(misc_set_invalid)) /* 0d nil  */
     3513        __(b local_label(misc_set_invalid)) /* 0e misc  */
     3514        __(b local_label(misc_set_u32)) /* 0f single_float  */
    35143515        /* 10-1f  */
    3515         .long local_label(misc_set_invalid) /* 10 even_fixnum  */
    3516         .long local_label(misc_set_invalid) /* 11 cons  */
    3517         .long local_label(misc_set_invalid) /* 12 nodeheader  */
    3518         .long local_label(misc_set_invalid) /* 13 imm  */
    3519         .long local_label(misc_set_invalid) /* 14 odd_fixnum  */
    3520         .long local_label(misc_set_invalid) /* 15 nil  */
    3521         .long local_label(misc_set_invalid) /* 16 misc  */
    3522         .long local_label(misc_set_u32) /* 17 double_float  */
    3523         .long local_label(misc_set_invalid) /* 18 even_fixnum  */
    3524         .long local_label(misc_set_invalid) /* 19 cons  */
    3525         .long _SPgvset /* 1a complex  */
    3526         .long local_label(misc_set_invalid) /* 1b imm  */
    3527         .long local_label(misc_set_invalid) /* 1c odd_fixnum  */
    3528         .long local_label(misc_set_invalid) /* 1d nil  */
    3529         .long local_label(misc_set_invalid) /* 1e misc  */
    3530         .long local_label(misc_set_u32) /* 1f macptr  */
     3516        __(b local_label(misc_set_invalid)) /* 10 even_fixnum  */
     3517        __(b local_label(misc_set_invalid)) /* 11 cons  */
     3518        __(b local_label(misc_set_invalid)) /* 12 nodeheader  */
     3519        __(b local_label(misc_set_invalid)) /* 13 imm  */
     3520        __(b local_label(misc_set_invalid)) /* 14 odd_fixnum  */
     3521        __(b local_label(misc_set_invalid)) /* 15 nil  */
     3522        __(b local_label(misc_set_invalid)) /* 16 misc  */
     3523        __(b local_label(misc_set_u32)) /* 17 double_float  */
     3524        __(b local_label(misc_set_invalid)) /* 18 even_fixnum  */
     3525        __(b local_label(misc_set_invalid)) /* 19 cons  */
     3526        __(b _SPgvset) /* 1a complex  */
     3527        __(b  local_label(misc_set_invalid)) /* 1b imm  */
     3528        __(b local_label(misc_set_invalid)) /* 1c odd_fixnum  */
     3529        __(b local_label(misc_set_invalid)) /* 1d nil  */
     3530        __(b local_label(misc_set_invalid)) /* 1e misc  */
     3531        __(b local_label(misc_set_u32)) /* 1f macptr  */
    35313532        /* 20-2f  */
    3532         .long local_label(misc_set_invalid) /* 20 even_fixnum  */
    3533         .long local_label(misc_set_invalid) /* 21 cons  */
    3534         .long _SPgvset /* 22 catch_frame  */
    3535         .long local_label(misc_set_invalid) /* 23 imm  */
    3536         .long local_label(misc_set_invalid) /* 24 odd_fixnum  */
    3537         .long local_label(misc_set_invalid) /* 25 nil  */
    3538         .long local_label(misc_set_invalid) /* 26 misc  */
    3539         .long local_label(misc_set_u32) /* 27 dead_macptr  */
    3540         .long local_label(misc_set_invalid) /* 28 even_fixnum  */
    3541         .long local_label(misc_set_invalid) /* 29 cons  */
    3542         .long _SPgvset /* 2a function  */
    3543         .long local_label(misc_set_invalid) /* 2b imm  */
    3544         .long local_label(misc_set_invalid) /* 2c odd_fixnum  */
    3545         .long local_label(misc_set_invalid) /* 2d nil  */
    3546         .long local_label(misc_set_invalid) /* 2e misc  */
    3547         .long local_label(misc_set_u32) /* 2f code_vector  */
     3533        __(b local_label(misc_set_invalid)) /* 20 even_fixnum  */
     3534        __(b local_label(misc_set_invalid)) /* 21 cons  */
     3535        __(b _SPgvset) /* 22 catch_frame  */
     3536        __(b  local_label(misc_set_invalid)) /* 23 imm  */
     3537        __(b local_label(misc_set_invalid)) /* 24 odd_fixnum  */
     3538        __(b local_label(misc_set_invalid)) /* 25 nil  */
     3539        __(b local_label(misc_set_invalid)) /* 26 misc  */
     3540        __(b local_label(misc_set_u32)) /* 27 dead_macptr  */
     3541        __(b local_label(misc_set_invalid)) /* 28 even_fixnum  */
     3542        __(b local_label(misc_set_invalid)) /* 29 cons  */
     3543        __(b _SPgvset) /* 2a function  */
     3544        __(b  local_label(misc_set_invalid)) /* 2b imm  */
     3545        __(b local_label(misc_set_invalid)) /* 2c odd_fixnum  */
     3546        __(b local_label(misc_set_invalid)) /* 2d nil  */
     3547        __(b local_label(misc_set_invalid)) /* 2e misc  */
     3548        __(b local_label(misc_set_u32)) /* 2f code_vector  */
    35483549        /* 30-3f  */
    3549         .long local_label(misc_set_invalid) /* 30 even_fixnum  */
    3550         .long local_label(misc_set_invalid) /* 31 cons  */
    3551         .long _SPgvset /* 32 lisp_thread  */
    3552         .long local_label(misc_set_invalid) /* 33 imm  */
    3553         .long local_label(misc_set_invalid) /* 34 odd_fixnum  */
    3554         .long local_label(misc_set_invalid) /* 35 nil  */
    3555         .long local_label(misc_set_invalid) /* 36 misc  */
    3556         .long local_label(misc_set_u32) /* 37 creole  */
    3557         .long local_label(misc_set_invalid) /* 38 even_fixnum  */
    3558         .long local_label(misc_set_invalid) /* 39 cons  */
    3559         .long _SPgvset /* 3a symbol  */
    3560         .long local_label(misc_set_invalid) /* 3b imm  */
    3561         .long local_label(misc_set_invalid) /* 3c odd_fixnum  */
    3562         .long local_label(misc_set_invalid) /* 3d nil  */
    3563         .long local_label(misc_set_invalid) /* 3e misc  */
    3564         .long local_label(misc_set_u32) /* 3f xcode_vector  */
     3550        __(b local_label(misc_set_invalid)) /* 30 even_fixnum  */
     3551        __(b local_label(misc_set_invalid)) /* 31 cons  */
     3552        __(b _SPgvset) /* 32 lisp_thread  */
     3553        __(b  local_label(misc_set_invalid)) /* 33 imm  */
     3554        __(b local_label(misc_set_invalid)) /* 34 odd_fixnum  */
     3555        __(b local_label(misc_set_invalid)) /* 35 nil  */
     3556        __(b local_label(misc_set_invalid)) /* 36 misc  */
     3557        __(b local_label(misc_set_u32)) /* 37 creole  */
     3558        __(b local_label(misc_set_invalid)) /* 38 even_fixnum  */
     3559        __(b local_label(misc_set_invalid)) /* 39 cons  */
     3560        __(b _SPgvset) /* 3a symbol  */
     3561        __(b  local_label(misc_set_invalid)) /* 3b imm  */
     3562        __(b local_label(misc_set_invalid)) /* 3c odd_fixnum  */
     3563        __(b local_label(misc_set_invalid)) /* 3d nil  */
     3564        __(b local_label(misc_set_invalid)) /* 3e misc  */
     3565        __(b local_label(misc_set_u32)) /* 3f xcode_vector  */
    35653566        /* 40-4f  */
    3566         .long local_label(misc_set_invalid) /* 40 even_fixnum  */
    3567         .long local_label(misc_set_invalid) /* 41 cons  */
    3568         .long _SPgvset /* 42 lock  */
    3569         .long local_label(misc_set_invalid) /* 43 imm  */
    3570         .long local_label(misc_set_invalid) /* 44 odd_fixnum  */
    3571         .long local_label(misc_set_invalid) /* 45 nil  */
    3572         .long local_label(misc_set_invalid) /* 46 misc  */
    3573         .long local_label(misc_set_invalid) /* 47 immheader  */
    3574         .long local_label(misc_set_invalid) /* 48 even_fixnum  */
    3575         .long local_label(misc_set_invalid) /* 49 cons  */
    3576         .long _SPgvset /* 4a hash_vector  */
    3577         .long local_label(misc_set_invalid) /* 4b imm  */
    3578         .long local_label(misc_set_invalid) /* 4c odd_fixnum  */
    3579         .long local_label(misc_set_invalid) /* 4d nil  */
    3580         .long local_label(misc_set_invalid) /* 4e misc  */
    3581         .long local_label(misc_set_invalid) /* 4f immheader  */
     3567        __(b local_label(misc_set_invalid)) /* 40 even_fixnum  */
     3568        __(b local_label(misc_set_invalid)) /* 41 cons  */
     3569        __(b _SPgvset) /* 42 lock  */
     3570        __(b  local_label(misc_set_invalid)) /* 43 imm  */
     3571        __(b local_label(misc_set_invalid)) /* 44 odd_fixnum  */
     3572        __(b local_label(misc_set_invalid)) /* 45 nil  */
     3573        __(b local_label(misc_set_invalid)) /* 46 misc  */
     3574        __(b local_label(misc_set_invalid)) /* 47 immheader  */
     3575        __(b local_label(misc_set_invalid)) /* 48 even_fixnum  */
     3576        __(b local_label(misc_set_invalid)) /* 49 cons  */
     3577        __(b _SPgvset) /* 4a hash_vector  */
     3578        __(b  local_label(misc_set_invalid)) /* 4b imm  */
     3579        __(b local_label(misc_set_invalid)) /* 4c odd_fixnum  */
     3580        __(b local_label(misc_set_invalid)) /* 4d nil  */
     3581        __(b local_label(misc_set_invalid)) /* 4e misc  */
     3582        __(b local_label(misc_set_invalid)) /* 4f immheader  */
    35823583        /* 50-5f  */
    3583         .long local_label(misc_set_invalid) /* 50 even_fixnum  */
    3584         .long local_label(misc_set_invalid) /* 51 cons  */
    3585         .long _SPgvset /* 52 pool  */
    3586         .long local_label(misc_set_invalid) /* 53 imm  */
    3587         .long local_label(misc_set_invalid) /* 54 odd_fixnum  */
    3588         .long local_label(misc_set_invalid) /* 55 nil  */
    3589         .long local_label(misc_set_invalid) /* 56 misc  */
    3590         .long local_label(misc_set_invalid) /* 57 immheader  */
    3591         .long local_label(misc_set_invalid) /* 58 even_fixnum  */
    3592         .long local_label(misc_set_invalid) /* 59 cons  */
    3593         .long _SPgvset /* 5a weak  */
    3594         .long local_label(misc_set_invalid) /* 5b imm  */
    3595         .long local_label(misc_set_invalid) /* 5c odd_fixnum  */
    3596         .long local_label(misc_set_invalid) /* 5d nil  */
    3597         .long local_label(misc_set_invalid) /* 5e misc  */
    3598         .long local_label(misc_set_invalid) /* 5f immheader  */
     3584        __(b local_label(misc_set_invalid)) /* 50 even_fixnum  */
     3585        __(b local_label(misc_set_invalid)) /* 51 cons  */
     3586        __(b _SPgvset) /* 52 pool  */
     3587        __(b  local_label(misc_set_invalid)) /* 53 imm  */
     3588        __(b local_label(misc_set_invalid)) /* 54 odd_fixnum  */
     3589        __(b local_label(misc_set_invalid)) /* 55 nil  */
     3590        __(b local_label(misc_set_invalid)) /* 56 misc  */
     3591        __(b local_label(misc_set_invalid)) /* 57 immheader  */
     3592        __(b local_label(misc_set_invalid)) /* 58 even_fixnum  */
     3593        __(b local_label(misc_set_invalid)) /* 59 cons  */
     3594        __(b _SPgvset) /* 5a weak  */
     3595        __(b  local_label(misc_set_invalid)) /* 5b imm  */
     3596        __(b local_label(misc_set_invalid)) /* 5c odd_fixnum  */
     3597        __(b local_label(misc_set_invalid)) /* 5d nil  */
     3598        __(b local_label(misc_set_invalid)) /* 5e misc  */
     3599        __(b local_label(misc_set_invalid)) /* 5f immheader  */
    35993600        /* 60-6f  */
    3600         .long local_label(misc_set_invalid) /* 60 even_fixnum  */
    3601         .long local_label(misc_set_invalid) /* 61 cons  */
    3602         .long _SPgvset /* 62 package  */
    3603         .long local_label(misc_set_invalid) /* 63 imm  */
    3604         .long local_label(misc_set_invalid) /* 64 odd_fixnum  */
    3605         .long local_label(misc_set_invalid) /* 65 nil  */
    3606         .long local_label(misc_set_invalid) /* 66 misc  */
    3607         .long local_label(misc_set_invalid) /* 67 immheader  */
    3608         .long local_label(misc_set_invalid) /* 68 even_fixnum  */
    3609         .long local_label(misc_set_invalid) /* 69 cons  */
    3610         .long _SPgvset /* 6a slot_vector  */
    3611         .long local_label(misc_set_invalid) /* 6b imm  */
    3612         .long local_label(misc_set_invalid) /* 6c odd_fixnum  */
    3613         .long local_label(misc_set_invalid) /* 6d nil  */
    3614         .long local_label(misc_set_invalid) /* 6e misc  */
    3615         .long local_label(misc_set_invalid) /* 6f immheader  */
     3601        __(b local_label(misc_set_invalid)) /* 60 even_fixnum  */
     3602        __(b local_label(misc_set_invalid)) /* 61 cons  */
     3603        __(b _SPgvset) /* 62 package  */
     3604        __(b  local_label(misc_set_invalid)) /* 63 imm  */
     3605        __(b local_label(misc_set_invalid)) /* 64 odd_fixnum  */
     3606        __(b local_label(misc_set_invalid)) /* 65 nil  */
     3607        __(b local_label(misc_set_invalid)) /* 66 misc  */
     3608        __(b local_label(misc_set_invalid)) /* 67 immheader  */
     3609        __(b local_label(misc_set_invalid)) /* 68 even_fixnum  */
     3610        __(b local_label(misc_set_invalid)) /* 69 cons  */
     3611        __(b _SPgvset) /* 6a slot_vector  */
     3612        __(b  local_label(misc_set_invalid)) /* 6b imm  */
     3613        __(b local_label(misc_set_invalid)) /* 6c odd_fixnum  */
     3614        __(b local_label(misc_set_invalid)) /* 6d nil  */
     3615        __(b local_label(misc_set_invalid)) /* 6e misc  */
     3616        __(b local_label(misc_set_invalid)) /* 6f immheader  */
    36163617        /* 70-7f  */
    3617         .long local_label(misc_set_invalid) /* 70 even_fixnum  */
    3618         .long local_label(misc_set_invalid) /* 71 cons  */
    3619         .long _SPgvset /* 72 instance  */
    3620         .long local_label(misc_set_invalid) /* 73 imm  */
    3621         .long local_label(misc_set_invalid) /* 74 odd_fixnum  */
    3622         .long local_label(misc_set_invalid) /* 75 nil  */
    3623         .long local_label(misc_set_invalid) /* 76 misc  */
    3624         .long local_label(misc_set_invalid) /* 77 immheader  */
    3625         .long local_label(misc_set_invalid) /* 78 even_fixnum  */
    3626         .long local_label(misc_set_invalid) /* 79 cons  */
    3627         .long _SPgvset /* 7a struct  */
    3628         .long local_label(misc_set_invalid) /* 7b imm  */
    3629         .long local_label(misc_set_invalid) /* 7c odd_fixnum  */
    3630         .long local_label(misc_set_invalid) /* 7d nil  */
    3631         .long local_label(misc_set_invalid) /* 7e misc  */
    3632         .long local_label(misc_set_invalid) /* 7f immheader  */
     3618        __(b local_label(misc_set_invalid)) /* 70 even_fixnum  */
     3619        __(b local_label(misc_set_invalid)) /* 71 cons  */
     3620        __(b _SPgvset) /* 72 instance  */
     3621        __(b  local_label(misc_set_invalid)) /* 73 imm  */
     3622        __(b local_label(misc_set_invalid)) /* 74 odd_fixnum  */
     3623        __(b local_label(misc_set_invalid)) /* 75 nil  */
     3624        __(b local_label(misc_set_invalid)) /* 76 misc  */
     3625        __(b local_label(misc_set_invalid)) /* 77 immheader  */
     3626        __(b local_label(misc_set_invalid)) /* 78 even_fixnum  */
     3627        __(b local_label(misc_set_invalid)) /* 79 cons  */
     3628        __(b _SPgvset) /* 7a struct  */
     3629        __(b  local_label(misc_set_invalid)) /* 7b imm  */
     3630        __(b local_label(misc_set_invalid)) /* 7c odd_fixnum  */
     3631        __(b local_label(misc_set_invalid)) /* 7d nil  */
     3632        __(b local_label(misc_set_invalid)) /* 7e misc  */
     3633        __(b local_label(misc_set_invalid)) /* 7f immheader  */
    36333634        /* 80-8f  */
    3634         .long local_label(misc_set_invalid) /* 80 even_fixnum  */
    3635         .long local_label(misc_set_invalid) /* 81 cons  */
    3636         .long _SPgvset /* 82 istruct  */
    3637         .long local_label(misc_set_invalid) /* 83 imm  */
    3638         .long local_label(misc_set_invalid) /* 84 odd_fixnum  */
    3639         .long local_label(misc_set_invalid) /* 85 nil  */
    3640         .long local_label(misc_set_invalid) /* 86 misc  */
    3641         .long local_label(misc_set_invalid) /* 87 immheader  */
    3642         .long local_label(misc_set_invalid) /* 88 even_fixnum  */
    3643         .long local_label(misc_set_invalid) /* 89 cons  */
    3644         .long _SPgvset /* 8a value_cell  */
    3645         .long local_label(misc_set_invalid) /* 8b imm  */
    3646         .long local_label(misc_set_invalid) /* 8c odd_fixnum  */
    3647         .long local_label(misc_set_invalid) /* 8d nil  */
    3648         .long local_label(misc_set_invalid) /* 8e misc  */
    3649         .long local_label(misc_set_invalid) /* 8f immheader  */
     3635        __(b local_label(misc_set_invalid)) /* 80 even_fixnum  */
     3636        __(b local_label(misc_set_invalid)) /* 81 cons  */
     3637        __(b _SPgvset) /* 82 istruct  */
     3638        __(b  local_label(misc_set_invalid)) /* 83 imm  */
     3639        __(b local_label(misc_set_invalid)) /* 84 odd_fixnum  */
     3640        __(b local_label(misc_set_invalid)) /* 85 nil  */
     3641        __(b local_label(misc_set_invalid)) /* 86 misc  */
     3642        __(b local_label(misc_set_invalid)) /* 87 immheader  */
     3643        __(b local_label(misc_set_invalid)) /* 88 even_fixnum  */
     3644        __(b local_label(misc_set_invalid)) /* 89 cons  */
     3645        __(b _SPgvset) /* 8a value_cell  */
     3646        __(b  local_label(misc_set_invalid)) /* 8b imm  */
     3647        __(b local_label(misc_set_invalid)) /* 8c odd_fixnum  */
     3648        __(b local_label(misc_set_invalid)) /* 8d nil  */
     3649        __(b local_label(misc_set_invalid)) /* 8e misc  */
     3650        __(b local_label(misc_set_invalid)) /* 8f immheader  */
    36503651        /* 90-9f  */
    3651         .long local_label(misc_set_invalid) /* 90 even_fixnum  */
    3652         .long local_label(misc_set_invalid) /* 91 cons  */
    3653         .long _SPgvset /* 92 xfunction  */
    3654         .long local_label(misc_set_invalid) /* 93 imm  */
    3655         .long local_label(misc_set_invalid) /* 94 odd_fixnum  */
    3656         .long local_label(misc_set_invalid) /* 95 nil  */
    3657         .long local_label(misc_set_invalid) /* 96 misc  */
    3658         .long local_label(misc_set_invalid) /* 97 immheader  */
    3659         .long local_label(misc_set_invalid) /* 98 even_fixnum  */
    3660         .long local_label(misc_set_invalid) /* 99 cons  */
    3661         .long _SPgvset /* 9a arrayH  */
    3662         .long local_label(misc_set_invalid) /* 9b imm  */
    3663         .long local_label(misc_set_invalid) /* 9c odd_fixnum  */
    3664         .long local_label(misc_set_invalid) /* 9d nil  */
    3665         .long local_label(misc_set_invalid) /* 9e misc  */
    3666         .long local_label(misc_set_invalid) /* 9f immheader  */
     3652        __(b local_label(misc_set_invalid)) /* 90 even_fixnum  */
     3653        __(b local_label(misc_set_invalid)) /* 91 cons  */
     3654        __(b _SPgvset) /* 92 xfunction  */
     3655        __(b  local_label(misc_set_invalid)) /* 93 imm  */
     3656        __(b local_label(misc_set_invalid)) /* 94 odd_fixnum  */
     3657        __(b local_label(misc_set_invalid)) /* 95 nil  */
     3658        __(b local_label(misc_set_invalid)) /* 96 misc  */
     3659        __(b local_label(misc_set_invalid)) /* 97 immheader  */
     3660        __(b local_label(misc_set_invalid)) /* 98 even_fixnum  */
     3661        __(b local_label(misc_set_invalid)) /* 99 cons  */
     3662        __(b _SPgvset) /* 9a arrayH  */
     3663        __(b  local_label(misc_set_invalid)) /* 9b imm  */
     3664        __(b local_label(misc_set_invalid)) /* 9c odd_fixnum  */
     3665        __(b local_label(misc_set_invalid)) /* 9d nil  */
     3666        __(b local_label(misc_set_invalid)) /* 9e misc  */
     3667        __(b local_label(misc_set_invalid)) /* 9f immheader  */
    36673668        /* a0-af  */
    3668         .long local_label(misc_set_invalid) /* a0 even_fixnum  */
    3669         .long local_label(misc_set_invalid) /* a1 cons  */
    3670         .long _SPgvset /* a2 vectorH  */
    3671         .long local_label(misc_set_invalid) /* a3 imm  */
    3672         .long local_label(misc_set_invalid) /* a4 odd_fixnum  */
    3673         .long local_label(misc_set_invalid) /* a5 nil  */
    3674         .long local_label(misc_set_invalid) /* a6 misc  */
    3675         .long local_label(misc_set_single_float_vector) /* a7 sf vector  */
    3676         .long local_label(misc_set_invalid) /* a8 even_fixnum  */
    3677         .long local_label(misc_set_invalid) /* a9 cons  */
    3678         .long _SPgvset /* aa vectorH  */
    3679         .long local_label(misc_set_invalid) /* ab imm  */
    3680         .long local_label(misc_set_invalid) /* ac odd_fixnum  */
    3681         .long local_label(misc_set_invalid) /* ad nil  */
    3682         .long local_label(misc_set_invalid) /* ae misc  */
    3683         .long local_label(misc_set_u32) /* af u32  */
     3669        __(b local_label(misc_set_invalid)) /* a0 even_fixnum  */
     3670        __(b local_label(misc_set_invalid)) /* a1 cons  */
     3671        __(b _SPgvset) /* a2 vectorH  */
     3672        __(b  local_label(misc_set_invalid)) /* a3 imm  */
     3673        __(b local_label(misc_set_invalid)) /* a4 odd_fixnum  */
     3674        __(b local_label(misc_set_invalid)) /* a5 nil  */
     3675        __(b local_label(misc_set_invalid)) /* a6 misc  */
     3676        __(b local_label(misc_set_single_float_vector)) /* a7 sf vector  */
     3677        __(b local_label(misc_set_invalid)) /* a8 even_fixnum  */
     3678        __(b local_label(misc_set_invalid)) /* a9 cons  */
     3679        __(b _SPgvset) /* aa vectorH  */
     3680        __(b  local_label(misc_set_invalid)) /* ab imm  */
     3681        __(b local_label(misc_set_invalid)) /* ac odd_fixnum  */
     3682        __(b local_label(misc_set_invalid)) /* ad nil  */
     3683        __(b local_label(misc_set_invalid)) /* ae misc  */
     3684        __(b local_label(misc_set_u32)) /* af u32  */
    36843685        /* b0-bf  */
    3685         .long local_label(misc_set_invalid) /* b0 even_fixnum  */
    3686         .long local_label(misc_set_invalid) /* b1 cons  */
    3687         .long local_label(misc_set_invalid) /* b2 node  */
    3688         .long local_label(misc_set_invalid) /* b3 imm  */
    3689         .long local_label(misc_set_invalid) /* b4 odd_fixnum  */
    3690         .long local_label(misc_set_invalid) /* b5 nil  */
    3691         .long local_label(misc_set_invalid) /* b6 misc  */
    3692         .long local_label(misc_set_s32) /* b7 s32  */
    3693         .long local_label(misc_set_invalid) /* b8 even_fixnum  */
    3694         .long local_label(misc_set_invalid) /* b9 cons  */
    3695         .long local_label(misc_set_invalid) /* ba nodeheader  */
    3696         .long local_label(misc_set_invalid) /* bb imm  */
    3697         .long local_label(misc_set_invalid) /* bc odd_fixnum  */
    3698         .long local_label(misc_set_invalid) /* bd nil  */
    3699         .long local_label(misc_set_invalid) /* be misc  */
    3700         .long local_label(misc_set_fixnum_vector) /* bf fixnum_vector  */
     3686        __(b local_label(misc_set_invalid)) /* b0 even_fixnum  */
     3687        __(b local_label(misc_set_invalid)) /* b1 cons  */
     3688        __(b local_label(misc_set_invalid)) /* b2 node  */
     3689        __(b local_label(misc_set_invalid)) /* b3 imm  */
     3690        __(b local_label(misc_set_invalid)) /* b4 odd_fixnum  */
     3691        __(b local_label(misc_set_invalid)) /* b5 nil  */
     3692        __(b local_label(misc_set_invalid)) /* b6 misc  */
     3693        __(b local_label(misc_set_s32)) /* b7 s32  */
     3694        __(b local_label(misc_set_invalid)) /* b8 even_fixnum  */
     3695        __(b local_label(misc_set_invalid)) /* b9 cons  */
     3696        __(b local_label(misc_set_invalid)) /* ba nodeheader  */
     3697        __(b local_label(misc_set_invalid)) /* bb imm  */
     3698        __(b local_label(misc_set_invalid)) /* bc odd_fixnum  */
     3699        __(b local_label(misc_set_invalid)) /* bd nil  */
     3700        __(b local_label(misc_set_invalid)) /* be misc  */
     3701        __(b local_label(misc_set_fixnum_vector)) /* bf fixnum_vector  */
    37013702        /* c0-cf  */
    3702         .long local_label(misc_set_invalid) /* c0 even_fixnum  */
    3703         .long local_label(misc_set_invalid) /* c1 cons  */
    3704         .long local_label(misc_set_invalid) /* c2 nodeheader  */
    3705         .long local_label(misc_set_invalid) /* c3 imm  */
    3706         .long local_label(misc_set_invalid) /* c4 odd_fixnum  */
    3707         .long local_label(misc_set_invalid) /* c5 nil  */
    3708         .long local_label(misc_set_invalid) /* c6 misc  */
    3709         .long local_label(misc_set_new_string) /* c7 new_string  */
    3710         .long local_label(misc_set_invalid) /* c8 even_fixnum  */
    3711         .long local_label(misc_set_invalid) /* c9 cons  */
    3712         .long local_label(misc_set_invalid) /* ca nodeheader  */
    3713         .long local_label(misc_set_invalid) /* cb imm  */
    3714         .long local_label(misc_set_invalid) /* cc odd_fixnum  */
    3715         .long local_label(misc_set_invalid) /* cd nil  */
    3716         .long local_label(misc_set_invalid) /* ce misc  */
    3717         .long local_label(misc_set_u8) /* cf u8  */
     3703        __(b local_label(misc_set_invalid)) /* c0 even_fixnum  */
     3704        __(b local_label(misc_set_invalid)) /* c1 cons  */
     3705        __(b local_label(misc_set_invalid)) /* c2 nodeheader  */
     3706        __(b local_label(misc_set_invalid)) /* c3 imm  */
     3707        __(b local_label(misc_set_invalid)) /* c4 odd_fixnum  */
     3708        __(b local_label(misc_set_invalid)) /* c5 nil  */
     3709        __(b local_label(misc_set_invalid)) /* c6 misc  */
     3710        __(b local_label(misc_set_new_string)) /* c7 new_string  */
     3711        __(b local_label(misc_set_invalid)) /* c8 even_fixnum  */
     3712        __(b local_label(misc_set_invalid)) /* c9 cons  */
     3713        __(b local_label(misc_set_invalid)) /* ca nodeheader  */
     3714        __(b local_label(misc_set_invalid)) /* cb imm  */
     3715        __(b local_label(misc_set_invalid)) /* cc odd_fixnum  */
     3716        __(b local_label(misc_set_invalid)) /* cd nil  */
     3717        __(b local_label(misc_set_invalid)) /* ce misc  */
     3718        __(b local_label(misc_set_u8)) /* cf u8  */
    37183719        /* d0-df  */
    3719         .long local_label(misc_set_invalid) /* d0 even_fixnum  */
    3720         .long local_label(misc_set_invalid) /* d1 cons  */
    3721         .long local_label(misc_set_invalid) /* d2 nodeheader  */
    3722         .long local_label(misc_set_invalid) /* d3 imm  */
    3723         .long local_label(misc_set_invalid) /* d4 odd_fixnum  */
    3724         .long local_label(misc_set_invalid) /* d5 nil  */
    3725         .long local_label(misc_set_invalid) /* d6 misc  */
    3726         .long local_label(misc_set_s8) /* d7 s8  */
    3727         .long local_label(misc_set_invalid) /* d8 even_fixnum  */
    3728         .long local_label(misc_set_invalid) /* d9 cons  */
    3729         .long local_label(misc_set_invalid) /* da nodeheader  */
    3730         .long local_label(misc_set_invalid) /* db imm  */
    3731         .long local_label(misc_set_invalid) /* dc odd_fixnum  */
    3732         .long local_label(misc_set_invalid) /* dd nil  */
    3733         .long local_label(misc_set_invalid) /* de misc  */
    3734         .long local_label(misc_set_old_string) /* df (old) simple_base_string  */
     3720        __(b local_label(misc_set_invalid)) /* d0 even_fixnum  */
     3721        __(b local_label(misc_set_invalid)) /* d1 cons  */
     3722        __(b local_label(misc_set_invalid)) /* d2 nodeheader  */
     3723        __(b local_label(misc_set_invalid)) /* d3 imm  */
     3724        __(b local_label(misc_set_invalid)) /* d4 odd_fixnum  */
     3725        __(b local_label(misc_set_invalid)) /* d5 nil  */
     3726        __(b local_label(misc_set_invalid)) /* d6 misc  */
     3727        __(b local_label(misc_set_s8)) /* d7 s8  */
     3728        __(b local_label(misc_set_invalid)) /* d8 even_fixnum  */
     3729        __(b local_label(misc_set_invalid)) /* d9 cons  */
     3730        __(b local_label(misc_set_invalid)) /* da nodeheader  */
     3731        __(b local_label(misc_set_invalid)) /* db imm  */
     3732        __(b local_label(misc_set_invalid)) /* dc odd_fixnum  */
     3733        __(b local_label(misc_set_invalid)) /* dd nil  */
     3734        __(b local_label(misc_set_invalid)) /* de misc  */
     3735        __(b local_label(misc_set_old_string)) /* df (old) simple_base_string  */
    37353736        /* e0-ef  */
    3736         .long local_label(misc_set_invalid) /* e0 even_fixnum  */
    3737         .long local_label(misc_set_invalid) /* e1 cons  */
    3738         .long local_label(misc_set_invalid) /* e2 nodeheader  */
    3739         .long local_label(misc_set_invalid) /* e3 imm  */
    3740         .long local_label(misc_set_invalid) /* e4 odd_fixnum  */
    3741         .long local_label(misc_set_invalid) /* e5 nil  */
    3742         .long local_label(misc_set_invalid) /* e6 misc  */
    3743         .long local_label(misc_set_u16) /* e7 u16  */
    3744         .long local_label(misc_set_invalid) /* e8 even_fixnum  */
    3745         .long local_label(misc_set_invalid) /* e9 cons  */
    3746         .long local_label(misc_set_invalid) /* ea nodeheader  */
    3747         .long local_label(misc_set_invalid) /* eb imm  */
    3748         .long local_label(misc_set_invalid) /* ec odd_fixnum  */
    3749         .long local_label(misc_set_invalid) /* ed nil  */
    3750         .long local_label(misc_set_invalid) /* ee misc  */
    3751         .long local_label(misc_set_s16) /* ef s16  */
     3737        __(b local_label(misc_set_invalid)) /* e0 even_fixnum  */
     3738        __(b local_label(misc_set_invalid)) /* e1 cons  */
     3739        __(b local_label(misc_set_invalid)) /* e2 nodeheader  */
     3740        __(b local_label(misc_set_invalid)) /* e3 imm  */
     3741        __(b local_label(misc_set_invalid)) /* e4 odd_fixnum  */
     3742        __(b local_label(misc_set_invalid)) /* e5 nil  */
     3743        __(b local_label(misc_set_invalid)) /* e6 misc  */
     3744        __(b local_label(misc_set_u16)) /* e7 u16  */
     3745        __(b local_label(misc_set_invalid)) /* e8 even_fixnum  */
     3746        __(b local_label(misc_set_invalid)) /* e9 cons  */
     3747        __(b local_label(misc_set_invalid)) /* ea nodeheader  */
     3748        __(b local_label(misc_set_invalid)) /* eb imm  */
     3749        __(b local_label(misc_set_invalid)) /* ec odd_fixnum  */
     3750        __(b local_label(misc_set_invalid)) /* ed nil  */
     3751        __(b local_label(misc_set_invalid)) /* ee misc  */
     3752        __(b local_label(misc_set_s16)) /* ef s16  */
    37523753        /* f0-ff  */
    3753         .long local_label(misc_set_invalid) /* f0 even_fixnum  */
    3754         .long local_label(misc_set_invalid) /* f1 cons  */
    3755         .long local_label(misc_set_invalid) /* f2 nodeheader  */
    3756         .long local_label(misc_set_invalid) /* f3 imm  */
    3757         .long local_label(misc_set_invalid) /* f4 odd_fixnum  */
    3758         .long local_label(misc_set_invalid) /* f5 nil  */
    3759         .long local_label(misc_set_invalid) /* f6 misc  */
    3760         .long local_label(misc_set_double_float_vector) /* f7 df vector  */
    3761         .long local_label(misc_set_invalid) /* f8 even_fixnum  */
    3762         .long local_label(misc_set_invalid) /* f9 cons  */
    3763         .long local_label(misc_set_invalid) /* fa nodeheader  */
    3764         .long local_label(misc_set_invalid) /* fb imm  */
    3765         .long local_label(misc_set_invalid) /* fc odd_fixnum  */
    3766         .long local_label(misc_set_invalid) /* fd nil  */
    3767         .long local_label(misc_set_invalid) /* fe misc  */
    3768         .long local_label(misc_set_bit_vector) /* ff bit_vector  */
     3754        __(b local_label(misc_set_invalid)) /* f0 even_fixnum  */
     3755        __(b local_label(misc_set_invalid)) /* f1 cons  */
     3756        __(b local_label(misc_set_invalid)) /* f2 nodeheader  */
     3757        __(b local_label(misc_set_invalid)) /* f3 imm  */
     3758        __(b local_label(misc_set_invalid)) /* f4 odd_fixnum  */
     3759        __(b local_label(misc_set_invalid)) /* f5 nil  */
     3760        __(b local_label(misc_set_invalid)) /* f6 misc  */
     3761        __(b local_label(misc_set_double_float_vector)) /* f7 df vector  */
     3762        __(b local_label(misc_set_invalid)) /* f8 even_fixnum  */
     3763        __(b local_label(misc_set_invalid)) /* f9 cons  */
     3764        __(b local_label(misc_set_invalid)) /* fa nodeheader  */
     3765        __(b local_label(misc_set_invalid)) /* fb imm  */
     3766        __(b local_label(misc_set_invalid)) /* fc odd_fixnum  */
     3767        __(b local_label(misc_set_invalid)) /* fd nil  */
     3768        __(b local_label(misc_set_invalid)) /* fe misc  */
     3769        __(b local_label(misc_set_bit_vector)) /* ff bit_vector  */
    37693770
    37703771local_label(misc_set_u32):       
     
    39313932/* frames. If target isn't a multiple-value receiver, discard extra values */
    39323933/* (less hair, maybe.)  */
    3933 _exportfn(C(_throw_found))
     3934_startfn(C(_throw_found))
    39343935        new_local_labels()
    39353936        __(ldr imm1,[temp0,#catch_frame.mvflag])
     
    39803981_endfn(C(_throw_found))       
    39813982
    3982 _exportfn(C(nthrow1v))
     3983_startfn(C(nthrow1v))
    39833984        new_local_labels()
    39843985local_label(_nthrow1v_nextframe):
     
    40434044_endfn       
    40444045
    4045 _exportfn(C(nthrownv))
     4046_startfn(C(nthrownv))
    40464047        new_local_labels()
    40474048local_label(nthrownv_nextframe):
     
    41444145_endfn               
    41454146
    4146 _exportfn(C(progvsave))       
     4147_startfn(C(progvsave))       
    41474148        /* Error if arg_z isn't a proper list.  That's unlikely, */
    41484149        /* but it's better to check now than to crash later. */
     
    42284229/* Too large to safely fit on tstack.  Heap-cons the vector, but make  */
    42294230/* sure that there's an empty tsp frame to keep the compiler happy.  */
    4230 _exportfn(stack_misc_alloc_no_room)
     4231_startfn(stack_misc_alloc_no_room)
    42314232        __(mov imm0,#stack_alloc_marker)
    42324233        __(mov imm1,sp)
     
    42344235        __(b _SPmisc_alloc)
    42354236_endfn       
    4236 _exportfn(stack_misc_alloc_init_no_room)
     4237_startfn(stack_misc_alloc_init_no_room)
    42374238/* Too large to safely fit on tstack.  Heap-cons the vector, but make  */
    42384239/* sure that there's an empty tsp frame to keep the compiler happy.  */
     
    42424243        __(b _SPmisc_alloc_init)
    42434244_endfn       
    4244 _exportfn(stack_misc_alloc_init_ivector)
     4245_startfn(stack_misc_alloc_init_ivector)
    42454246        __(mov imm0,arg_x,lsl #num_subtag_bits-fixnumshift)
    42464247        __(orr imm0,imm0,arg_y,lsr #fixnumshift)
     
    42704271        __(b initialize_vector)
    42714272_endfn       
     4273/* This is called from a lisp-style context and calls a lisp function. */
     4274/* This does the moral equivalent of */
     4275/*   (loop  */
     4276/*      (let* ((fn (%function_on_top_of_lisp_stack))) */
     4277/*        (if fn */
     4278/*           (catch %toplevel-catch% */
     4279/*             (funcall fn)) */
     4280/*            (return nil)))) */
     4281
     4282_startfn(toplevel_loop)
     4283        __(build_lisp_frame(imm0))
     4284        __(b local_label(test))
     4285local_label(loop):
     4286        __(ref_nrs_value(arg_z,toplcatch))
     4287        __(bl _SPmkcatch1v)     /* preserves nfn, at the moment */
     4288        __(b local_label(test)) /* cleanup address, not really a branch */
     4289        __(ldr nfn,[vsp,#0])
     4290        __(set_nargs(0))
     4291        __(bl _SPfuncall)
     4292        __(mov arg_z,#nil_value)
     4293        __(mov imm0,fixnum_one)
     4294        __(bl _SPnthrow1value)
     4295local_label(test):
     4296        __(ldr nfn,[vsp,#0])
     4297        __(cmp nfn,#nil_value)
     4298        __(bne local_label(loop))
     4299        __(return_lisp_frame(imm0))
     4300        _endfn
     4301
     4302
     4303/* This gets called with R0 pointing to the current TCR. */
     4304/* r1 is 0 if we want to start the whole thing rolling, */
     4305/* non-zero if we want to reset the current process */
     4306/* by throwing to toplevel */
     4307
     4308        .globl _SPreset
     4309_exportfn(C(start_lisp))
     4310        __(stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr})
     4311        __(mov rcontext,r0)
     4312        __(mov r0,sp)
     4313        __(tst sp,#4)
     4314        __(strne r0,[sp,#-4]!)
     4315        __(streq r0,[sp,#-8]!)
     4316        __(mov arg_z,#0)
     4317        __(mov arg_y,#0)
     4318        __(mov arg_x,#0)
     4319        __(mov temp0,#0)
     4320        __(mov temp1,#0)
     4321        __(mov temp2,#0)
     4322        __(mov allocptr,#VOID_ALLOCPTR)
     4323        __(mov fn,#0)
     4324        __(ldr vsp,[rcontext,#tcr.save_vsp])
     4325        __(ldr imm2,[rcontext,#tcr.last_lisp_frame])
     4326        __(sub imm0,imm2,sp)
     4327        __(add imm0,imm0,#node_size)
     4328        __(mov imm0,imm0,lsl #num_subtag_bits-word_shift)
     4329        __(orr imm0,imm0,#subtag_u32_vector)
     4330        __(stmdb sp!,{imm0,imm2})
     4331        __(mov imm0,#TCR_STATE_LISP)
     4332        __(str imm0,[rcontext,#tcr.valence])
     4333        __(ldr allocptr,[rcontext,#tcr.save_allocptr])
     4334        __(bl toplevel_loop)
     4335        __(ldmia sp!,{imm0,imm1})
     4336        __(mov imm0,#TCR_STATE_FOREIGN)
     4337        __(str imm1,[rcontext,#tcr.last_lisp_frame])
     4338        __(str imm0,[rcontext,#tcr.valence])
     4339        __(mov imm0,#nil_value)
     4340        __(ldr sp,[sp])
     4341        __(ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr})
     4342        __(bx lr)
     4343
     4344_exportfn(_SPsp_end)
     4345        __(nop)
    42724346                _endfile
Note: See TracChangeset for help on using the changeset viewer.