vm: clean up baroque jit safepoint logic
parent
15c4b7aa57
commit
4df56f31f2
|
@ -100,10 +100,7 @@ bool quotation_jit::word_stack_frame_p(cell obj)
|
||||||
|
|
||||||
bool quotation_jit::word_safepoint_p(cell obj)
|
bool quotation_jit::word_safepoint_p(cell obj)
|
||||||
{
|
{
|
||||||
if (to_boolean(untag<word>(obj)->subprimitive) && special_subprimitive_p(obj))
|
return !special_subprimitive_p(obj);
|
||||||
return false;
|
|
||||||
else
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool quotation_jit::safepoint_p()
|
bool quotation_jit::safepoint_p()
|
||||||
|
@ -116,19 +113,15 @@ bool quotation_jit::safepoint_p()
|
||||||
switch(tagged<object>(obj).type())
|
switch(tagged<object>(obj).type())
|
||||||
{
|
{
|
||||||
case WORD_TYPE:
|
case WORD_TYPE:
|
||||||
if(i != length - 1 || word_stack_frame_p(obj))
|
if(!word_safepoint_p(obj))
|
||||||
return true;
|
return false;
|
||||||
break;
|
|
||||||
case QUOTATION_TYPE:
|
|
||||||
if(fast_dip_p(i,length) || fast_2dip_p(i,length) || fast_3dip_p(i,length))
|
|
||||||
return true;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool quotation_jit::stack_frame_p()
|
bool quotation_jit::stack_frame_p()
|
||||||
|
|
Loading…
Reference in New Issue