Index: src/x87/code-stubs-x87.cc |
diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc |
index 7fd43b8e481254e6595751cefae5221017fc22b7..eab73384db52f62fc490e4ed0c383308bc7615ae 100644 |
--- a/src/x87/code-stubs-x87.cc |
+++ b/src/x87/code-stubs-x87.cc |
@@ -21,8 +21,7 @@ namespace internal { |
static void InitializeArrayConstructorDescriptor( |
- Isolate* isolate, CodeStub::Major major, |
- CodeStubInterfaceDescriptor* descriptor, |
+ Isolate* isolate, CodeStubDescriptor* descriptor, |
int constant_stack_parameter_count) { |
// register state |
// eax -- number of arguments |
@@ -32,22 +31,17 @@ 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, eax, deopt_handler, |
- constant_stack_parameter_count, |
+ descriptor->Initialize(eax, deopt_handler, constant_stack_parameter_count, |
JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); |
} |
} |
static void InitializeInternalArrayConstructorDescriptor( |
- Isolate* isolate, CodeStub::Major major, |
- CodeStubInterfaceDescriptor* descriptor, |
+ Isolate* isolate, CodeStubDescriptor* descriptor, |
int constant_stack_parameter_count) { |
// register state |
// eax -- number of arguments |
@@ -56,66 +50,60 @@ static void InitializeInternalArrayConstructorDescriptor( |
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, eax, deopt_handler, |
- constant_stack_parameter_count, |
+ descriptor->Initialize(eax, 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); |
} |
-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) { |
for (int i = 0; i < param_count; ++i) { |
__ push(descriptor.GetEnvironmentParameterRegister(i)); |
} |
- ExternalReference miss = descriptor.miss_handler(); |
__ CallExternalReference(miss, param_count); |
} |