Commit 0200dd56 authored by bmeurer's avatar bmeurer Committed by Commit bot

[intrinsics] Remove the %_IsSimdValue intrinsic.

There's no need to have inline platform code for this intrinsic, which
is only used when generating a descriptive string for an error, the
runtime call is just fine here.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1706743002

Cr-Commit-Position: refs/heads/master@{#34080}
parent e7619428
...@@ -2998,28 +2998,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2998,28 +2998,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(r0, if_false);
__ CompareObjectType(r0, r1, r1, SIMD128_VALUE_TYPE);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(eq, if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -2804,28 +2804,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2804,28 +2804,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(x0, if_false);
__ CompareObjectType(x0, x10, x11, SIMD128_VALUE_TYPE);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(eq, if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -531,7 +531,6 @@ class FullCodeGenerator: public AstVisitor { ...@@ -531,7 +531,6 @@ class FullCodeGenerator: public AstVisitor {
F(OneByteSeqStringSetChar) \ F(OneByteSeqStringSetChar) \
F(TwoByteSeqStringSetChar) \ F(TwoByteSeqStringSetChar) \
F(IsJSReceiver) \ F(IsJSReceiver) \
F(IsSimdValue) \
F(MathPow) \ F(MathPow) \
F(HasCachedArrayIndex) \ F(HasCachedArrayIndex) \
F(GetCachedArrayIndex) \ F(GetCachedArrayIndex) \
......
...@@ -2879,28 +2879,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2879,28 +2879,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(eax, if_false);
__ CmpObjectType(eax, SIMD128_VALUE_TYPE, ebx);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(equal, if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -2985,28 +2985,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2985,28 +2985,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(v0, if_false);
__ GetObjectType(v0, a1, a1);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(eq, a1, Operand(SIMD128_VALUE_TYPE), if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -2990,28 +2990,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2990,28 +2990,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(v0, if_false);
__ GetObjectType(v0, a1, a1);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(eq, a1, Operand(SIMD128_VALUE_TYPE), if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -2987,28 +2987,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2987,28 +2987,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(r3, if_false);
__ CompareObjectType(r3, r4, r4, SIMD128_VALUE_TYPE);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(eq, if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -2864,28 +2864,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2864,28 +2864,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(rax, if_false);
__ CmpObjectType(rax, SIMD128_VALUE_TYPE, rbx);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(equal, if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -2871,28 +2871,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) { ...@@ -2871,28 +2871,6 @@ void FullCodeGenerator::EmitIsJSReceiver(CallRuntime* expr) {
} }
void FullCodeGenerator::EmitIsSimdValue(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1);
VisitForAccumulatorValue(args->at(0));
Label materialize_true, materialize_false;
Label* if_true = NULL;
Label* if_false = NULL;
Label* fall_through = NULL;
context()->PrepareTest(&materialize_true, &materialize_false, &if_true,
&if_false, &fall_through);
__ JumpIfSmi(eax, if_false);
__ CmpObjectType(eax, SIMD128_VALUE_TYPE, ebx);
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
Split(equal, if_true, if_false, fall_through);
context()->Plug(if_true, if_false);
}
void FullCodeGenerator::EmitIsArray(CallRuntime* expr) { void FullCodeGenerator::EmitIsArray(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
DCHECK(args->length() == 1); DCHECK(args->length() == 1);
......
...@@ -85,7 +85,7 @@ macro IS_SCRIPT(arg) = (%_ClassOf(arg) === 'Script'); ...@@ -85,7 +85,7 @@ macro IS_SCRIPT(arg) = (%_ClassOf(arg) === 'Script');
macro IS_SET(arg) = (%_ClassOf(arg) === 'Set'); macro IS_SET(arg) = (%_ClassOf(arg) === 'Set');
macro IS_SET_ITERATOR(arg) = (%_ClassOf(arg) === 'Set Iterator'); macro IS_SET_ITERATOR(arg) = (%_ClassOf(arg) === 'Set Iterator');
macro IS_SHAREDARRAYBUFFER(arg) = (%_ClassOf(arg) === 'SharedArrayBuffer'); macro IS_SHAREDARRAYBUFFER(arg) = (%_ClassOf(arg) === 'SharedArrayBuffer');
macro IS_SIMD_VALUE(arg) = (%_IsSimdValue(arg)); macro IS_SIMD_VALUE(arg) = (%IsSimdValue(arg));
macro IS_STRING(arg) = (typeof(arg) === 'string'); macro IS_STRING(arg) = (typeof(arg) === 'string');
macro IS_STRING_WRAPPER(arg) = (%_ClassOf(arg) === 'String'); macro IS_STRING_WRAPPER(arg) = (%_ClassOf(arg) === 'String');
macro IS_STRONG(arg) = (%IsStrong(arg)); macro IS_STRONG(arg) = (%IsStrong(arg));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment