fix delete gc bug
This commit is contained in:
@@ -981,6 +981,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
int ret = JS_SetProperty(ctx, obj, key, val);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
if (ret < 0) goto disrupt;
|
||||
mach_resolve_forward(&frame->slots[a]);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1001,6 +1002,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
JSValue r = JS_SetPropertyNumber(ctx, obj, JS_VALUE_GET_INT(frame->slots[b]), val);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
if (JS_IsException(r)) goto disrupt;
|
||||
mach_resolve_forward(&frame->slots[a]);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1488,6 +1490,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
int ret = JS_SetProperty(ctx, obj, key, val);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
if (ret < 0) goto disrupt;
|
||||
mach_resolve_forward(&frame->slots[a]);
|
||||
break;
|
||||
}
|
||||
case MACH_LOAD_INDEX: {
|
||||
@@ -1506,6 +1509,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
JSValue r = JS_SetPropertyNumber(ctx, obj, JS_VALUE_GET_INT(frame->slots[b]), val);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
if (JS_IsException(r)) goto disrupt;
|
||||
mach_resolve_forward(&frame->slots[a]);
|
||||
break;
|
||||
}
|
||||
case MACH_LOAD_DYNAMIC: {
|
||||
@@ -1540,6 +1544,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
}
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
if (ret < 0) goto disrupt;
|
||||
mach_resolve_forward(&frame->slots[a]);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user