diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc index 4e24760e1e..7a0335707a 100644 --- a/src/mips/code-stubs-mips.cc +++ b/src/mips/code-stubs-mips.cc @@ -122,22 +122,22 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { // Update the static counter each time a new code stub is generated. isolate()->counters()->code_stubs()->Increment(); - CodeStubInterfaceDescriptor descriptor = GetInterfaceDescriptor(); - int param_count = descriptor->GetEnvironmentParameterCount(); + CodeStubInterfaceDescriptor descriptor; + InitializeInterfaceDescriptor(&descriptor); + int param_count = descriptor.GetEnvironmentParameterCount(); { // Call the runtime system in a fresh internal frame. FrameScope scope(masm, StackFrame::INTERNAL); DCHECK(param_count == 0 || - a0.is(descriptor->GetEnvironmentParameterRegister( - param_count - 1))); + a0.is(descriptor.GetEnvironmentParameterRegister(param_count - 1))); // Push arguments, adjust sp. __ Subu(sp, sp, Operand(param_count * kPointerSize)); for (int i = 0; i < param_count; ++i) { // Store argument to stack. - __ sw(descriptor->GetEnvironmentParameterRegister(i), - MemOperand(sp, (param_count-1-i) * kPointerSize)); + __ sw(descriptor.GetEnvironmentParameterRegister(i), + MemOperand(sp, (param_count - 1 - i) * kPointerSize)); } - ExternalReference miss = descriptor->miss_handler(); + ExternalReference miss = descriptor.miss_handler(); __ CallExternalReference(miss, param_count); } diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc index a0b0440409..3b3ca689ac 100644 --- a/src/mips/lithium-mips.cc +++ b/src/mips/lithium-mips.cc @@ -2392,10 +2392,10 @@ LInstruction* LChunkBuilder::DoParameter(HParameter* instr) { return DefineAsSpilled(result, spill_index); } else { DCHECK(info()->IsStub()); - CodeStubInterfaceDescriptor* descriptor = - info()->code_stub()->GetInterfaceDescriptor(); + CodeStubInterfaceDescriptor descriptor; + info()->code_stub()->InitializeInterfaceDescriptor(&descriptor); int index = static_cast(instr->index()); - Register reg = descriptor->GetEnvironmentParameterRegister(index); + Register reg = descriptor.GetEnvironmentParameterRegister(index); return DefineFixed(result, reg); } } diff --git a/src/mips64/code-stubs-mips64.cc b/src/mips64/code-stubs-mips64.cc index 2c8110cd6a..4ed30ccc40 100644 --- a/src/mips64/code-stubs-mips64.cc +++ b/src/mips64/code-stubs-mips64.cc @@ -121,21 +121,22 @@ void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { // Update the static counter each time a new code stub is generated. isolate()->counters()->code_stubs()->Increment(); - CodeStubInterfaceDescriptor* descriptor = GetInterfaceDescriptor(); - int param_count = descriptor->GetEnvironmentParameterCount(); + CodeStubInterfaceDescriptor descriptor; + InitializeInterfaceDescriptor(&descriptor); + int param_count = descriptor.GetEnvironmentParameterCount(); { // Call the runtime system in a fresh internal frame. FrameScope scope(masm, StackFrame::INTERNAL); DCHECK((param_count == 0) || - a0.is(descriptor->GetEnvironmentParameterRegister(param_count - 1))); + a0.is(descriptor.GetEnvironmentParameterRegister(param_count - 1))); // Push arguments, adjust sp. __ Dsubu(sp, sp, Operand(param_count * kPointerSize)); for (int i = 0; i < param_count; ++i) { // Store argument to stack. - __ sd(descriptor->GetEnvironmentParameterRegister(i), - MemOperand(sp, (param_count-1-i) * kPointerSize)); + __ sd(descriptor.GetEnvironmentParameterRegister(i), + MemOperand(sp, (param_count - 1 - i) * kPointerSize)); } - ExternalReference miss = descriptor->miss_handler(); + ExternalReference miss = descriptor.miss_handler(); __ CallExternalReference(miss, param_count); } diff --git a/src/mips64/lithium-mips64.cc b/src/mips64/lithium-mips64.cc index 22f0bf7c81..742ccdb862 100644 --- a/src/mips64/lithium-mips64.cc +++ b/src/mips64/lithium-mips64.cc @@ -2392,10 +2392,10 @@ LInstruction* LChunkBuilder::DoParameter(HParameter* instr) { return DefineAsSpilled(result, spill_index); } else { DCHECK(info()->IsStub()); - CodeStubInterfaceDescriptor* descriptor = - info()->code_stub()->GetInterfaceDescriptor(); + CodeStubInterfaceDescriptor descriptor; + info()->code_stub()->InitializeInterfaceDescriptor(&descriptor); int index = static_cast(instr->index()); - Register reg = descriptor->GetEnvironmentParameterRegister(index); + Register reg = descriptor.GetEnvironmentParameterRegister(index); return DefineFixed(result, reg); } }