Ignore:
Timestamp:
Dec 28, 2011, 8:37:13 PM (9 years ago)
Author:
gb
Message:

Define another 3-register-argument UUO ('uuo_error_array_axis_bounds');
use it to report array bounds errors for multidimensional array access
(incorporating the axis/dimension in the UUO and therefore the error
message.)

File:
1 edited

Legend:

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

    r14267 r15158  
    3939
    4040uuo_format_error_xtype = 4      /* 8 bits of extended type/subtag info, 4 bit reg */
     41uuo_format_ternary_error2 = 5   /* array index invalid for specified dimension */
    4142uuo_format_binary = 7           /* 4 bits of code, r1, r0 */
    4243uuo_format_nullary_error = 8    /* nullary, call out to lisp */
     
    102103define(`uuo_error_array_rank',`binary_errorUUO($1,$2,$3,6)')
    103104define(`uuo_error_array_flags',`binary_errorUUO($1,$2,$3,7)')
     105
     106define(`uuo_error_array_axis_bounds',`UUO($1,uuo_format_ternary_error2,($2<<8)|($3<<4)|$4)')
    104107       
    105108/* This should never be generated (never be a legal instruction in a code
Note: See TracChangeset for help on using the changeset viewer.