Revision: 8641
Author:   [email protected]
Date:     Wed Jul 13 07:25:10 2011
Log:      Merge r8623 to the 3.3 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/7351015
http://code.google.com/p/v8/source/detail?r=8641

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

=======================================
--- /branches/3.3/src/arm/lithium-codegen-arm.cc        Wed Jun 15 13:52:52 2011
+++ /branches/3.3/src/arm/lithium-codegen-arm.cc        Wed Jul 13 07:25:10 2011
@@ -542,6 +542,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();
+  }
 }


@@ -1417,6 +1424,7 @@

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


=======================================
--- /branches/3.3/src/ia32/lithium-codegen-ia32.cc      Wed Jun 15 13:52:52 2011
+++ /branches/3.3/src/ia32/lithium-codegen-ia32.cc      Wed Jul 13 07:25:10 2011
@@ -1319,6 +1319,7 @@

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


=======================================
--- /branches/3.3/src/version.cc        Mon Jul 11 08:07:03 2011
+++ /branches/3.3/src/version.cc        Wed Jul 13 07:25:10 2011
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     3
 #define BUILD_NUMBER      10
-#define PATCH_LEVEL       20
+#define PATCH_LEVEL       21
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0
=======================================
--- /branches/3.3/src/x64/lithium-codegen-x64.cc        Wed Jun 15 13:52:52 2011
+++ /branches/3.3/src/x64/lithium-codegen-x64.cc        Wed Jul 13 07:25:10 2011
@@ -1313,6 +1313,7 @@

   BinaryOpStub 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