fix a problem mixing JIT and non-JIT code
Crashes the "optimize.rktl" test suite when the JIT supported but disabled, because that test suite re-enables the JIT.
This commit is contained in:
parent
b7039106e6
commit
38da2aa2e7
|
@ -2448,7 +2448,11 @@ scheme_make_closure(Scheme_Thread *p, Scheme_Object *code, int close)
|
|||
data = (Scheme_Closure_Data *)code;
|
||||
|
||||
#ifdef MZ_USE_JIT
|
||||
if (data->u.native_code) {
|
||||
if (data->u.native_code
|
||||
/* If the union points to a another Scheme_Closure_Data*, then it's not actually
|
||||
a pointer to native code. We must have a closure referenced frmo non-JITted code
|
||||
where the closure is also referenced by JITted code. */
|
||||
&& !SAME_TYPE(SCHEME_TYPE(data->u.native_code), scheme_unclosed_procedure_type)) {
|
||||
Scheme_Object *nc;
|
||||
|
||||
nc = scheme_make_native_closure(data->u.native_code);
|
||||
|
|
Loading…
Reference in New Issue
Block a user