Revision: 23853
Author: weiliang....@intel.com
Date: Thu Sep 11 05:30:19 2014 UTC
Log: X87: Do not cache CodeStubInterfaceDescriptor on the isolate.
port r23744.
original commit message:
Do not cache CodeStubInterfaceDescriptor on the isolate.
BUG=
R=weiliang....@intel.com
Review URL: https://codereview.chromium.org/560793002
Patch from Jing Bao <jing....@intel.com>.
https://code.google.com/p/v8/source/detail?r=23853
Modified:
/branches/bleeding_edge/src/x87/code-stubs-x87.cc
/branches/bleeding_edge/src/x87/lithium-x87.cc
=======================================
--- /branches/bleeding_edge/src/x87/code-stubs-x87.cc Wed Sep 10 07:17:23
2014 UTC
+++ /branches/bleeding_edge/src/x87/code-stubs-x87.cc Thu Sep 11 05:30:19
2014 UTC
@@ -115,19 +115,19 @@
// 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 ||
- eax.is(descriptor->GetEnvironmentParameterRegister(
- param_count - 1)));
+ eax.is(descriptor.GetEnvironmentParameterRegister(param_count -
1)));
// Push arguments
for (int i = 0; i < param_count; ++i) {
- __ push(descriptor->GetEnvironmentParameterRegister(i));
+ __ push(descriptor.GetEnvironmentParameterRegister(i));
}
- ExternalReference miss = descriptor->miss_handler();
+ ExternalReference miss = descriptor.miss_handler();
__ CallExternalReference(miss, param_count);
}
=======================================
--- /branches/bleeding_edge/src/x87/lithium-x87.cc Fri Sep 5 05:22:41 2014
UTC
+++ /branches/bleeding_edge/src/x87/lithium-x87.cc Thu Sep 11 05:30:19 2014
UTC
@@ -2477,10 +2477,10 @@
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<int>(instr->index());
- Register reg = descriptor->GetEnvironmentParameterRegister(index);
+ Register reg = descriptor.GetEnvironmentParameterRegister(index);
return DefineFixed(result, reg);
}
}
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.