simplifications
This commit is contained in:
@@ -2979,7 +2979,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
JSValue idx = frame->slots[c];
|
||||
JSValue val;
|
||||
if (JS_IsInt(idx))
|
||||
val = JS_GetPropertyUint32(ctx, obj, JS_VALUE_GET_INT(idx));
|
||||
val = JS_GetPropertyNumber(ctx, obj, JS_VALUE_GET_INT(idx));
|
||||
else
|
||||
val = JS_GetProperty(ctx, obj, idx);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
@@ -2995,7 +2995,8 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
JSValue val = frame->slots[c];
|
||||
int ret;
|
||||
if (JS_IsInt(idx)) {
|
||||
ret = JS_SetPropertyUint32(ctx, obj, JS_VALUE_GET_INT(idx), val);
|
||||
JSValue r = JS_SetPropertyNumber(ctx, obj, JS_VALUE_GET_INT(idx), val);
|
||||
ret = JS_IsException(r) ? -1 : 0;
|
||||
} else if (JS_IsArray(obj)) {
|
||||
JS_ThrowTypeError(ctx, "array index must be a number");
|
||||
ret = -1;
|
||||
@@ -3201,7 +3202,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
if (JS_IsException(arr)) { JS_PopGCRef(ctx, &key_ref); goto disrupt; }
|
||||
frame->slots[base + 1] = arr; /* protect from GC in temp slot */
|
||||
for (int i = 0; i < nargs; i++) {
|
||||
JS_SetPropertyUint32(ctx, frame->slots[base + 1], i, frame->slots[base + 2 + i]);
|
||||
JS_SetPropertyNumber(ctx, frame->slots[base + 1], i, frame->slots[base + 2 + i]);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
}
|
||||
/* Call proxy with key and array from C stack */
|
||||
@@ -3336,7 +3337,7 @@ JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code,
|
||||
/* Store array in dest immediately so GC can track it */
|
||||
frame->slots[a] = arr;
|
||||
for (int i = 0; i < count; i++) {
|
||||
JS_SetPropertyUint32(ctx, frame->slots[a], i, frame->slots[a + 1 + i]);
|
||||
JS_SetPropertyNumber(ctx, frame->slots[a], i, frame->slots[a + 1 + i]);
|
||||
frame = (JSFrameRegister *)JS_VALUE_GET_PTR(frame_ref.val);
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user