Index: src/code-stub-assembler.cc |
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc |
index 5abfe384af369e2d1573bacdd219aa92af902c60..3b990867911a0856428165ad525eca85820edf0d 100644 |
--- a/src/code-stub-assembler.cc |
+++ b/src/code-stub-assembler.cc |
@@ -497,80 +497,6 @@ Node* CodeStubAssembler::WordIsPositiveSmi(Node* a) { |
IntPtrConstant(0)); |
} |
-void CodeStubAssembler::BranchIfSameValueZero(Node* a, Node* b, Node* context, |
- Label* if_true, Label* if_false) { |
- Node* number_map = HeapNumberMapConstant(); |
- Label a_isnumber(this), a_isnotnumber(this), b_isnumber(this), a_isnan(this), |
- float_not_equal(this); |
- // If register A and register B are identical, goto `if_true` |
- GotoIf(WordEqual(a, b), if_true); |
- // If either register A or B are Smis, goto `if_false` |
- GotoIf(Word32Or(WordIsSmi(a), WordIsSmi(b)), if_false); |
- // GotoIf(WordIsSmi(b), if_false); |
- |
- Node* a_map = LoadMap(a); |
- Node* b_map = LoadMap(b); |
- Branch(WordEqual(a_map, number_map), &a_isnumber, &a_isnotnumber); |
- |
- // If both register A and B are HeapNumbers, return true if they are equal, |
- // or if both are NaN |
- Bind(&a_isnumber); |
- { |
- Branch(WordEqual(b_map, number_map), &b_isnumber, if_false); |
- |
- Bind(&b_isnumber); |
- Node* a_value = LoadHeapNumberValue(a); |
- Node* b_value = LoadHeapNumberValue(b); |
- BranchIfFloat64Equal(a_value, b_value, if_true, &float_not_equal); |
- |
- Bind(&float_not_equal); |
- BranchIfFloat64IsNaN(a_value, &a_isnan, if_false); |
- |
- Bind(&a_isnan); |
- BranchIfFloat64IsNaN(a_value, if_true, if_false); |
- } |
- |
- Bind(&a_isnotnumber); |
- { |
- Label a_isstring(this), a_isnotstring(this); |
- Node* a_instance_type = LoadMapInstanceType(a_map); |
- |
- Branch(Int32LessThan(a_instance_type, Int32Constant(FIRST_NONSTRING_TYPE)), |
- &a_isstring, &a_isnotstring); |
- |
- Bind(&a_isstring); |
- { |
- Label b_isstring(this), b_isnotstring(this); |
- Node* b_instance_type = LoadInstanceType(b_map); |
- |
- Branch( |
- Int32LessThan(b_instance_type, Int32Constant(FIRST_NONSTRING_TYPE)), |
- &b_isstring, if_false); |
- |
- Bind(&b_isstring); |
- { |
- Callable callable = CodeFactory::StringEqual(isolate()); |
- Node* result = CallStub(callable, context, a, b); |
- Branch(WordEqual(BooleanConstant(true), result), if_true, if_false); |
- } |
- } |
- |
- Bind(&a_isnotstring); |
- { |
- // Check if {lhs} is a Simd128Value. |
- Label a_issimd128value(this); |
- Branch(Word32Equal(a_instance_type, Int32Constant(SIMD128_VALUE_TYPE)), |
- &a_issimd128value, if_false); |
- |
- Bind(&a_issimd128value); |
- { |
- // Load the map of {rhs}. |
- BranchIfSimd128Equal(a, a_map, b, b_map, if_true, if_false); |
- } |
- } |
- } |
-} |
- |
void CodeStubAssembler::BranchIfSimd128Equal(Node* lhs, Node* lhs_map, |
Node* rhs, Node* rhs_map, |
Label* if_equal, |