| Index: src/mips64/code-stubs-mips64.cc
|
| diff --git a/src/mips64/code-stubs-mips64.cc b/src/mips64/code-stubs-mips64.cc
|
| index 4a716ec2329c0a08585e92d5397bd90157beae77..a98c8bdfa5a9a002cc1d324a7b24465d0896498c 100644
|
| --- a/src/mips64/code-stubs-mips64.cc
|
| +++ b/src/mips64/code-stubs-mips64.cc
|
| @@ -20,83 +20,70 @@ namespace internal {
|
|
|
|
|
| static void InitializeArrayConstructorDescriptor(
|
| - Isolate* isolate, CodeStub::Major major,
|
| - CodeStubInterfaceDescriptor* descriptor,
|
| + Isolate* isolate, CodeStubDescriptor* descriptor,
|
| int constant_stack_parameter_count) {
|
| Address deopt_handler = Runtime::FunctionForId(
|
| 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, a0, deopt_handler,
|
| - constant_stack_parameter_count,
|
| + descriptor->Initialize(a0, 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) {
|
| 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, a0, deopt_handler,
|
| - constant_stack_parameter_count,
|
| + descriptor->Initialize(a0, 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);
|
| }
|
|
|
|
|
| @@ -117,11 +104,12 @@ static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm,
|
| Register rhs);
|
|
|
|
|
| -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.
|
| @@ -135,7 +123,6 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) {
|
| __ sd(descriptor.GetEnvironmentParameterRegister(i),
|
| MemOperand(sp, (param_count - 1 - i) * kPointerSize));
|
| }
|
| - ExternalReference miss = descriptor.miss_handler();
|
| __ CallExternalReference(miss, param_count);
|
| }
|
|
|
|
|