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.

Reply via email to