Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index f70271bd506ecb9148a7773dc566c3f379b6c63c..f658291f84cefb3f4d0d92324f6e6c1eededb2e0 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -193,6 +193,18 @@ void CompareNilICStub::InitializeInterfaceDescriptor( |
} |
+void BinaryOpICStub::InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor) { |
+ static Register registers[] = { r1, r0 }; |
+ descriptor->register_param_count_ = 2; |
+ descriptor->register_params_ = registers; |
+ descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); |
+ descriptor->SetMissHandler( |
+ ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate)); |
+} |
+ |
+ |
static void InitializeArrayConstructorDescriptor( |
Isolate* isolate, |
CodeStubInterfaceDescriptor* descriptor, |
@@ -327,29 +339,6 @@ void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( |
} |
-void BinaryOpICStub::InitializeInterfaceDescriptor( |
- Isolate* isolate, |
- CodeStubInterfaceDescriptor* descriptor) { |
- static Register registers[] = { r1, r0 }; |
- descriptor->register_param_count_ = 2; |
- descriptor->register_params_ = registers; |
- descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); |
- descriptor->SetMissHandler( |
- ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate)); |
-} |
- |
- |
-void BinaryOpWithAllocationSiteStub::InitializeInterfaceDescriptor( |
- Isolate* isolate, |
- CodeStubInterfaceDescriptor* descriptor) { |
- static Register registers[] = { r2, r1, r0 }; |
- descriptor->register_param_count_ = 3; |
- descriptor->register_params_ = registers; |
- descriptor->deoptimization_handler_ = |
- FUNCTION_ADDR(BinaryOpIC_MissWithAllocationSite); |
-} |
- |
- |
void NewStringAddStub::InitializeInterfaceDescriptor( |
Isolate* isolate, |
CodeStubInterfaceDescriptor* descriptor) { |
@@ -1453,7 +1442,6 @@ void CodeStub::GenerateStubsAheadOfTime(Isolate* isolate) { |
ArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
CreateAllocationSiteStub::GenerateAheadOfTime(isolate); |
BinaryOpICStub::GenerateAheadOfTime(isolate); |
- BinaryOpICWithAllocationSiteStub::GenerateAheadOfTime(isolate); |
} |
@@ -4174,38 +4162,6 @@ void StringCompareStub::Generate(MacroAssembler* masm) { |
} |
-void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) { |
- // ----------- S t a t e ------------- |
- // -- r1 : left |
- // -- r0 : right |
- // -- lr : return address |
- // ----------------------------------- |
- Isolate* isolate = masm->isolate(); |
- |
- // Load r2 with the allocation site. We stick an undefined dummy value here |
- // and replace it with the real allocation site later when we instantiate this |
- // stub in BinaryOpICWithAllocationSiteStub::GetCodeCopyFromTemplate(). |
- __ Move(r2, handle(isolate->heap()->undefined_value())); |
- |
- // Make sure that we actually patched the allocation site. |
- if (FLAG_debug_code) { |
- __ tst(r2, Operand(kSmiTagMask)); |
- __ Assert(ne, kExpectedAllocationSite); |
- __ push(r2); |
- __ ldr(r2, FieldMemOperand(r2, HeapObject::kMapOffset)); |
- __ LoadRoot(ip, Heap::kAllocationSiteMapRootIndex); |
- __ cmp(r2, ip); |
- __ pop(r2); |
- __ Assert(eq, kExpectedAllocationSite); |
- } |
- |
- // Tail call into the stub that handles binary operations with allocation |
- // sites. |
- BinaryOpWithAllocationSiteStub stub(state_); |
- __ TailCallStub(&stub); |
-} |
- |
- |
void StringAddStub::Generate(MacroAssembler* masm) { |
Label call_runtime, call_builtin; |
Builtins::JavaScript builtin_id = Builtins::ADD; |