SYMBOL: jit-define-offset
: compute-offset ( -- offset )
- building get length jit-define-rc get rc-absolute-cell = cell 4 ? - ;
+ building get length jit-define-rc get rc-absolute-cell = bootstrap-cell 4 ? - ;
: jit-rel ( rc rt -- )
jit-define-rt set
temp0 0 MOV rc-absolute-cell rt-immediate jit-rel
! key = class
temp2 temp1 MOV
+ bootstrap-cell 8 = [ temp2 1 SHL ] when
! key &= cache.length - 1
temp2 mega-cache-size get 1- bootstrap-cell * AND
! cache += array-start-offset
INLINE CELL get_call_target(CELL return_address)
{
check_call_site(return_address);
- return *(F_FIXNUM *)(return_address - 4) + return_address;
+ return *(int *)(return_address - 4) + return_address;
}
INLINE void set_call_target(CELL return_address, CELL target)
{
check_call_site(return_address);
- *(F_FIXNUM *)(return_address - 4) = (target - return_address);
+ *(int *)(return_address - 4) = (target - return_address);
}