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
