bench
This commit is contained in:
@@ -14357,6 +14357,15 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
v2 &= 0x1f;
|
||||
sp[-2] = JS_NewInt32(ctx, v1 << v2);
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2) ||
|
||||
(JS_VALUE_GET_TAG(op1) == JS_TAG_INT && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op2))) ||
|
||||
(JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op1)) && JS_VALUE_GET_TAG(op2) == JS_TAG_INT)) {
|
||||
uint32_t v1, v2;
|
||||
v1 = JS_VALUE_GET_TAG(op1) == JS_TAG_INT ? JS_VALUE_GET_INT(op1) : (int32_t)JS_VALUE_GET_FLOAT64(op1);
|
||||
v2 = JS_VALUE_GET_TAG(op2) == JS_TAG_INT ? JS_VALUE_GET_INT(op2) : (int32_t)JS_VALUE_GET_FLOAT64(op2);
|
||||
v2 &= 0x1f;
|
||||
sp[-2] = JS_NewInt32(ctx, v1 << v2);
|
||||
sp--;
|
||||
} else {
|
||||
sp[-2] = JS_NULL;
|
||||
sp--;
|
||||
@@ -14376,6 +14385,15 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
(uint32_t)JS_VALUE_GET_INT(op1) >>
|
||||
v2);
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2) ||
|
||||
(JS_VALUE_GET_TAG(op1) == JS_TAG_INT && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op2))) ||
|
||||
(JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op1)) && JS_VALUE_GET_TAG(op2) == JS_TAG_INT)) {
|
||||
uint32_t v1, v2;
|
||||
v1 = JS_VALUE_GET_TAG(op1) == JS_TAG_INT ? JS_VALUE_GET_INT(op1) : (int32_t)JS_VALUE_GET_FLOAT64(op1);
|
||||
v2 = JS_VALUE_GET_TAG(op2) == JS_TAG_INT ? JS_VALUE_GET_INT(op2) : (int32_t)JS_VALUE_GET_FLOAT64(op2);
|
||||
v2 &= 0x1f;
|
||||
sp[-2] = JS_NewUint32(ctx, v1 >> v2);
|
||||
sp--;
|
||||
} else {
|
||||
sp[-2] = JS_NULL;
|
||||
sp--;
|
||||
@@ -14394,6 +14412,16 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
sp[-2] = JS_NewInt32(ctx,
|
||||
(int)JS_VALUE_GET_INT(op1) >> v2);
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2) ||
|
||||
(JS_VALUE_GET_TAG(op1) == JS_TAG_INT && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op2))) ||
|
||||
(JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op1)) && JS_VALUE_GET_TAG(op2) == JS_TAG_INT)) {
|
||||
int32_t v1;
|
||||
uint32_t v2;
|
||||
v1 = JS_VALUE_GET_TAG(op1) == JS_TAG_INT ? JS_VALUE_GET_INT(op1) : (int32_t)JS_VALUE_GET_FLOAT64(op1);
|
||||
v2 = JS_VALUE_GET_TAG(op2) == JS_TAG_INT ? JS_VALUE_GET_INT(op2) : (int32_t)JS_VALUE_GET_FLOAT64(op2);
|
||||
v2 &= 0x1f;
|
||||
sp[-2] = JS_NewInt32(ctx, v1 >> v2);
|
||||
sp--;
|
||||
} else {
|
||||
sp[-2] = JS_NULL;
|
||||
sp--;
|
||||
@@ -14410,6 +14438,14 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
JS_VALUE_GET_INT(op1) &
|
||||
JS_VALUE_GET_INT(op2));
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2) ||
|
||||
(JS_VALUE_GET_TAG(op1) == JS_TAG_INT && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op2))) ||
|
||||
(JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op1)) && JS_VALUE_GET_TAG(op2) == JS_TAG_INT)) {
|
||||
int32_t v1, v2;
|
||||
v1 = JS_VALUE_GET_TAG(op1) == JS_TAG_INT ? JS_VALUE_GET_INT(op1) : (int32_t)JS_VALUE_GET_FLOAT64(op1);
|
||||
v2 = JS_VALUE_GET_TAG(op2) == JS_TAG_INT ? JS_VALUE_GET_INT(op2) : (int32_t)JS_VALUE_GET_FLOAT64(op2);
|
||||
sp[-2] = JS_NewInt32(ctx, v1 & v2);
|
||||
sp--;
|
||||
} else {
|
||||
sp[-2] = JS_NULL;
|
||||
sp--;
|
||||
@@ -14426,6 +14462,14 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
JS_VALUE_GET_INT(op1) |
|
||||
JS_VALUE_GET_INT(op2));
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2) ||
|
||||
(JS_VALUE_GET_TAG(op1) == JS_TAG_INT && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op2))) ||
|
||||
(JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op1)) && JS_VALUE_GET_TAG(op2) == JS_TAG_INT)) {
|
||||
int32_t v1, v2;
|
||||
v1 = JS_VALUE_GET_TAG(op1) == JS_TAG_INT ? JS_VALUE_GET_INT(op1) : (int32_t)JS_VALUE_GET_FLOAT64(op1);
|
||||
v2 = JS_VALUE_GET_TAG(op2) == JS_TAG_INT ? JS_VALUE_GET_INT(op2) : (int32_t)JS_VALUE_GET_FLOAT64(op2);
|
||||
sp[-2] = JS_NewInt32(ctx, v1 | v2);
|
||||
sp--;
|
||||
} else {
|
||||
sp[-2] = JS_NULL;
|
||||
sp--;
|
||||
@@ -14442,6 +14486,14 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
JS_VALUE_GET_INT(op1) ^
|
||||
JS_VALUE_GET_INT(op2));
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2) ||
|
||||
(JS_VALUE_GET_TAG(op1) == JS_TAG_INT && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op2))) ||
|
||||
(JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(op1)) && JS_VALUE_GET_TAG(op2) == JS_TAG_INT)) {
|
||||
int32_t v1, v2;
|
||||
v1 = JS_VALUE_GET_TAG(op1) == JS_TAG_INT ? JS_VALUE_GET_INT(op1) : (int32_t)JS_VALUE_GET_FLOAT64(op1);
|
||||
v2 = JS_VALUE_GET_TAG(op2) == JS_TAG_INT ? JS_VALUE_GET_INT(op2) : (int32_t)JS_VALUE_GET_FLOAT64(op2);
|
||||
sp[-2] = JS_NewInt32(ctx, v1 ^ v2);
|
||||
sp--;
|
||||
} else {
|
||||
sp[-2] = JS_NULL;
|
||||
sp--;
|
||||
|
||||
Reference in New Issue
Block a user