Revision: 8638
Author:   [email protected]
Date:     Wed Jul 13 07:16:35 2011
Log:      Merge r8623 to the 3.2 branch

r8623: Avoid patching code after the call to binary operation stub in optimized code

[email protected]

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7355018
http://code.google.com/p/v8/source/detail?r=8638

Modified:
 /branches/3.2/src/arm/lithium-codegen-arm.cc
 /branches/3.2/src/ia32/lithium-codegen-ia32.cc
 /branches/3.2/src/version.cc
 /branches/3.2/src/x64/lithium-codegen-x64.cc

=======================================
--- /branches/3.2/src/arm/lithium-codegen-arm.cc        Wed Jun 15 13:52:22 2011
+++ /branches/3.2/src/arm/lithium-codegen-arm.cc        Wed Jul 13 07:16:35 2011
@@ -497,6 +497,13 @@
   RecordPosition(pointers->position());
   __ Call(code, mode);
   RegisterLazyDeoptimization(instr, safepoint_mode);
+
+  // Signal that we don't inline smi code before these stubs in the
+  // optimizing code generator.
+  if (code->kind() == Code::BINARY_OP_IC ||
+      code->kind() == Code::COMPARE_IC) {
+    __ nop();
+  }
 }


@@ -1368,6 +1375,7 @@

   TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE);
   CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr);
+  __ nop();  // Signals no inlined code.
 }


=======================================
--- /branches/3.2/src/ia32/lithium-codegen-ia32.cc      Wed Jun 15 13:59:20 2011
+++ /branches/3.2/src/ia32/lithium-codegen-ia32.cc      Wed Jul 13 07:16:35 2011
@@ -1250,6 +1250,7 @@

   TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE);
   CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr, RESTORE_CONTEXT);
+  __ nop();  // Signals no inlined code.
 }


=======================================
--- /branches/3.2/src/version.cc        Mon Jul 11 08:04:26 2011
+++ /branches/3.2/src/version.cc        Wed Jul 13 07:16:35 2011
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     2
 #define BUILD_NUMBER      10
-#define PATCH_LEVEL       28
+#define PATCH_LEVEL       29
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0
=======================================
--- /branches/3.2/src/x64/lithium-codegen-x64.cc        Fri Jun 24 01:20:24 2011
+++ /branches/3.2/src/x64/lithium-codegen-x64.cc        Wed Jul 13 07:16:35 2011
@@ -1246,6 +1246,7 @@

   TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE);
   CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr);
+  __ nop();  // Signals no inlined code.
 }


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to