diff options
author | Ben Murdoch <benm@google.com> | 2011-07-25 17:16:09 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-07-25 17:16:09 +0100 |
commit | 18a6f57610d404676fb0db2114fd7ad91e0402b0 (patch) | |
tree | 503b2fa5a51d5edd1f510f337df04cf2877bc909 /src | |
parent | 0de1e4345105e23da77663351f2019a015ab98b8 (diff) | |
download | android_external_v8-18a6f57610d404676fb0db2114fd7ad91e0402b0.tar.gz android_external_v8-18a6f57610d404676fb0db2114fd7ad91e0402b0.tar.bz2 android_external_v8-18a6f57610d404676fb0db2114fd7ad91e0402b0.zip |
Merge V8 at r8710: Pick up V8 3.2.10.31
Bug: 5052287
Change-Id: Ib12d1d74d4413ff281fb46ba306d103b5106ee1a
Diffstat (limited to 'src')
-rw-r--r-- | src/arm/lithium-codegen-arm.cc | 8 | ||||
-rw-r--r-- | src/heap-inl.h | 9 | ||||
-rw-r--r-- | src/ia32/lithium-codegen-ia32.cc | 1 | ||||
-rw-r--r-- | src/version.cc | 2 | ||||
-rw-r--r-- | src/x64/lithium-codegen-x64.cc | 1 |
5 files changed, 13 insertions, 8 deletions
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc index 80055708..06f3a4eb 100644 --- a/src/arm/lithium-codegen-arm.cc +++ b/src/arm/lithium-codegen-arm.cc @@ -497,6 +497,13 @@ void LCodeGen::CallCodeGeneric(Handle<Code> code, 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::TYPE_RECORDING_BINARY_OP_IC || + code->kind() == Code::COMPARE_IC) { + __ nop(); + } } @@ -1368,6 +1375,7 @@ void LCodeGen::DoArithmeticT(LArithmeticT* instr) { TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE); CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); + __ nop(); // Signals no inlined code. } diff --git a/src/heap-inl.h b/src/heap-inl.h index 99737ed9..296cb05c 100644 --- a/src/heap-inl.h +++ b/src/heap-inl.h @@ -367,11 +367,7 @@ void Heap::MoveBlock(Address dst, Address src, int byte_size) { int size_in_words = byte_size / kPointerSize; - if ((dst < src) || (dst >= (src + size_in_words))) { - ASSERT((dst >= (src + size_in_words)) || - ((OffsetFrom(reinterpret_cast<Address>(src)) - - OffsetFrom(reinterpret_cast<Address>(dst))) >= kPointerSize)); - + if ((dst < src) || (dst >= (src + byte_size))) { Object** src_slot = reinterpret_cast<Object**>(src); Object** dst_slot = reinterpret_cast<Object**>(dst); Object** end_slot = src_slot + size_in_words; @@ -389,8 +385,7 @@ void Heap::MoveBlockToOldSpaceAndUpdateRegionMarks(Address dst, Address src, int byte_size) { ASSERT(IsAligned(byte_size, kPointerSize)); - ASSERT((dst >= (src + byte_size)) || - ((OffsetFrom(src) - OffsetFrom(dst)) >= kPointerSize)); + ASSERT((dst < src) || (dst >= (src + byte_size))); CopyBlockToOldSpaceAndUpdateRegionMarks(dst, src, byte_size); } diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc index 73565dc3..8bcce338 100644 --- a/src/ia32/lithium-codegen-ia32.cc +++ b/src/ia32/lithium-codegen-ia32.cc @@ -1250,6 +1250,7 @@ void LCodeGen::DoArithmeticT(LArithmeticT* instr) { TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE); CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr, RESTORE_CONTEXT); + __ nop(); // Signals no inlined code. } diff --git a/src/version.cc b/src/version.cc index 822abfe7..7e18e6d4 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 2 #define BUILD_NUMBER 10 -#define PATCH_LEVEL 28 +#define PATCH_LEVEL 31 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc index a178d034..822295e2 100644 --- a/src/x64/lithium-codegen-x64.cc +++ b/src/x64/lithium-codegen-x64.cc @@ -1246,6 +1246,7 @@ void LCodeGen::DoArithmeticT(LArithmeticT* instr) { TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE); CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); + __ nop(); // Signals no inlined code. } |