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
