Index: src/arm64/code-stubs-arm64.cc |
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc |
index e9b90cbc6364d121a3185921ba0c629e258e5126..9da151d46e0dd5a92ffebe97a5dc8e161993034d 100644 |
--- a/src/arm64/code-stubs-arm64.cc |
+++ b/src/arm64/code-stubs-arm64.cc |
@@ -163,6 +163,9 @@ |
// Call runtime on identical symbols since we need to throw a TypeError. |
__ Cmp(right_type, SYMBOL_TYPE); |
__ B(eq, slow); |
+ // Call runtime on identical SIMD values since we must throw a TypeError. |
+ __ Cmp(right_type, SIMD128_VALUE_TYPE); |
+ __ B(eq, slow); |
} else if (cond == eq) { |
__ JumpIfHeapNumber(right, &heap_number); |
} else { |
@@ -173,6 +176,9 @@ |
__ B(ge, slow); |
// Call runtime on identical symbols since we need to throw a TypeError. |
__ Cmp(right_type, SYMBOL_TYPE); |
+ __ B(eq, slow); |
+ // Call runtime on identical SIMD values since we must throw a TypeError. |
+ __ Cmp(right_type, SIMD128_VALUE_TYPE); |
__ B(eq, slow); |
// Normally here we fall through to return_equal, but undefined is |
// special: (undefined == undefined) == true, but |