JIT tweak: stack-clearing operations do not disturb registers
This commit is contained in:
parent
be4ce3ed66
commit
42f74b5982
|
@ -762,11 +762,17 @@ int scheme_stack_safety(mz_jit_state *jitter, int cnt, int offset)
|
||||||
that we make, so that whatever happens to be there isn't
|
that we make, so that whatever happens to be there isn't
|
||||||
traversed in case of a GC. the value of JIT_RUNSTACK is
|
traversed in case of a GC. the value of JIT_RUNSTACK is
|
||||||
handy to use as a "clear" value. */
|
handy to use as a "clear" value. */
|
||||||
int i;
|
int i, valid;
|
||||||
|
|
||||||
|
valid = mz_CURRENT_REG_STATUS_VALID();
|
||||||
|
|
||||||
for (i = 0; i < cnt; i++) {
|
for (i = 0; i < cnt; i++) {
|
||||||
mz_rs_stxi(i+offset, JIT_RUNSTACK);
|
mz_rs_stxi(i+offset, JIT_RUNSTACK);
|
||||||
CHECK_LIMIT();
|
CHECK_LIMIT();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (valid) mz_SET_REG_STATUS_VALID(1);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user