Index: src/arm64/code-stubs-arm64.cc |
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc |
index 11ba6a546c67550d21949e42e039010486785cf5..1096de753566cea102bd8bd1f5e96e827c92ff11 100644 |
--- a/src/arm64/code-stubs-arm64.cc |
+++ b/src/arm64/code-stubs-arm64.cc |
@@ -20,8 +20,7 @@ namespace internal { |
static void InitializeArrayConstructorDescriptor( |
- Isolate* isolate, CodeStub::Major major, |
- CodeStubInterfaceDescriptor* descriptor, |
+ Isolate* isolate, CodeStubDescriptor* descriptor, |
int constant_stack_parameter_count) { |
// cp: context |
// x1: function |
@@ -31,87 +30,76 @@ static void InitializeArrayConstructorDescriptor( |
Runtime::kArrayConstructor)->entry; |
if (constant_stack_parameter_count == 0) { |
- ArrayConstructorConstantArgCountDescriptor call_descriptor(isolate); |
- descriptor->Initialize(major, call_descriptor, deopt_handler, |
- constant_stack_parameter_count, |
+ descriptor->Initialize(deopt_handler, constant_stack_parameter_count, |
JS_FUNCTION_STUB_MODE); |
} else { |
- ArrayConstructorDescriptor call_descriptor(isolate); |
- descriptor->Initialize(major, call_descriptor, x0, deopt_handler, |
- constant_stack_parameter_count, |
+ descriptor->Initialize(x0, deopt_handler, constant_stack_parameter_count, |
JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); |
} |
} |
-void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
- CodeStubInterfaceDescriptor* descriptor) { |
- InitializeArrayConstructorDescriptor(isolate(), MajorKey(), descriptor, 0); |
+void ArrayNoArgumentConstructorStub::InitializeDescriptor( |
+ CodeStubDescriptor* descriptor) { |
+ InitializeArrayConstructorDescriptor(isolate(), descriptor, 0); |
} |
-void ArraySingleArgumentConstructorStub::InitializeInterfaceDescriptor( |
- CodeStubInterfaceDescriptor* descriptor) { |
- InitializeArrayConstructorDescriptor(isolate(), MajorKey(), descriptor, 1); |
+void ArraySingleArgumentConstructorStub::InitializeDescriptor( |
+ CodeStubDescriptor* descriptor) { |
+ InitializeArrayConstructorDescriptor(isolate(), descriptor, 1); |
} |
-void ArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor( |
- CodeStubInterfaceDescriptor* descriptor) { |
- InitializeArrayConstructorDescriptor(isolate(), MajorKey(), descriptor, -1); |
+void ArrayNArgumentsConstructorStub::InitializeDescriptor( |
+ CodeStubDescriptor* descriptor) { |
+ InitializeArrayConstructorDescriptor(isolate(), descriptor, -1); |
} |
static void InitializeInternalArrayConstructorDescriptor( |
- Isolate* isolate, CodeStub::Major major, |
- CodeStubInterfaceDescriptor* descriptor, |
+ Isolate* isolate, CodeStubDescriptor* descriptor, |
int constant_stack_parameter_count) { |
Address deopt_handler = Runtime::FunctionForId( |
Runtime::kInternalArrayConstructor)->entry; |
if (constant_stack_parameter_count == 0) { |
- InternalArrayConstructorConstantArgCountDescriptor call_descriptor(isolate); |
- descriptor->Initialize(major, call_descriptor, deopt_handler, |
- constant_stack_parameter_count, |
+ descriptor->Initialize(deopt_handler, constant_stack_parameter_count, |
JS_FUNCTION_STUB_MODE); |
} else { |
- InternalArrayConstructorDescriptor call_descriptor(isolate); |
- descriptor->Initialize(major, call_descriptor, x0, deopt_handler, |
- constant_stack_parameter_count, |
+ descriptor->Initialize(x0, deopt_handler, constant_stack_parameter_count, |
JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); |
} |
} |
-void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
- CodeStubInterfaceDescriptor* descriptor) { |
- InitializeInternalArrayConstructorDescriptor(isolate(), MajorKey(), |
- descriptor, 0); |
+void InternalArrayNoArgumentConstructorStub::InitializeDescriptor( |
+ CodeStubDescriptor* descriptor) { |
+ InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, 0); |
} |
-void InternalArraySingleArgumentConstructorStub::InitializeInterfaceDescriptor( |
- CodeStubInterfaceDescriptor* descriptor) { |
- InitializeInternalArrayConstructorDescriptor(isolate(), MajorKey(), |
- descriptor, 1); |
+void InternalArraySingleArgumentConstructorStub::InitializeDescriptor( |
+ CodeStubDescriptor* descriptor) { |
+ InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, 1); |
} |
-void InternalArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor( |
- CodeStubInterfaceDescriptor* descriptor) { |
- InitializeInternalArrayConstructorDescriptor(isolate(), MajorKey(), |
- descriptor, -1); |
+void InternalArrayNArgumentsConstructorStub::InitializeDescriptor( |
+ CodeStubDescriptor* descriptor) { |
+ InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, -1); |
} |
#define __ ACCESS_MASM(masm) |
-void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { |
+void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm, |
+ ExternalReference miss) { |
// Update the static counter each time a new code stub is generated. |
isolate()->counters()->code_stubs()->Increment(); |
- CodeStubInterfaceDescriptor descriptor(this); |
+ CallInterfaceDescriptor descriptor = GetCallInterfaceDescriptor(); |
int param_count = descriptor.GetEnvironmentParameterCount(); |
{ |
// Call the runtime system in a fresh internal frame. |
@@ -126,7 +114,6 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { |
} |
queue.PushQueued(); |
- ExternalReference miss = descriptor.miss_handler(); |
__ CallExternalReference(miss, param_count); |
} |