Revision: 13511
Author: [email protected]
Date: Fri Jan 25 06:50:07 2013
Log: Merged r13420, r13427 into 3.15 branch.
MIPS: Fix if condition in DoTransitionElementsKind.
MIPS: Fix wrong asserts in SeqStringSetCharGenerator.
[email protected]
Review URL: https://chromiumcodereview.appspot.com/12049087
http://code.google.com/p/v8/source/detail?r=13511
Modified:
/branches/3.15/src/mips/codegen-mips.cc
/branches/3.15/src/mips/lithium-codegen-mips.cc
/branches/3.15/src/version.cc
=======================================
--- /branches/3.15/src/mips/codegen-mips.cc Mon Jan 14 06:11:06 2013
+++ /branches/3.15/src/mips/codegen-mips.cc Fri Jan 25 06:50:07 2013
@@ -529,9 +529,9 @@
__ Check(eq, "Non-smi value", at, Operand(zero_reg));
__ lw(at, FieldMemOperand(string, String::kLengthOffset));
- __ Check(lt, "Index is too large", at, Operand(index));
+ __ Check(lt, "Index is too large", index, Operand(at));
- __ Check(ge, "Index is negative", index, Operand(Smi::FromInt(0)));
+ __ Check(ge, "Index is negative", index, Operand(zero_reg));
__ lw(at, FieldMemOperand(string, HeapObject::kMapOffset));
__ lbu(at, FieldMemOperand(at, Map::kInstanceTypeOffset));
@@ -539,9 +539,9 @@
__ And(at, at, Operand(kStringRepresentationMask |
kStringEncodingMask));
static const uint32_t one_byte_seq_type = kSeqStringTag |
kOneByteStringTag;
static const uint32_t two_byte_seq_type = kSeqStringTag |
kTwoByteStringTag;
- __ Check(eq, "Unexpected string type", at,
- Operand(encoding == String::ONE_BYTE_ENCODING
- ? one_byte_seq_type : two_byte_seq_type));
+ __ Subu(at, at, Operand(encoding == String::ONE_BYTE_ENCODING
+ ? one_byte_seq_type : two_byte_seq_type));
+ __ Check(eq, "Unexpected string type", at, Operand(zero_reg));
}
__ Addu(at,
=======================================
--- /branches/3.15/src/mips/lithium-codegen-mips.cc Mon Jan 14 06:11:06 2013
+++ /branches/3.15/src/mips/lithium-codegen-mips.cc Fri Jan 25 06:50:07 2013
@@ -4016,7 +4016,7 @@
__ Branch(¬_applicable, ne, scratch, Operand(from_map));
__ li(new_map_reg, Operand(to_map));
- if (IsFastSmiElementsKind(from_kind) &&
IsFastObjectElementsKind(to_kind)) {
+ if (IsSimpleMapChangeTransition(from_kind, to_kind)) {
__ sw(new_map_reg, FieldMemOperand(object_reg,
HeapObject::kMapOffset));
// Write barrier.
__ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg,
=======================================
--- /branches/3.15/src/version.cc Mon Jan 21 05:08:00 2013
+++ /branches/3.15/src/version.cc Fri Jan 25 06:50:07 2013
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 3
#define MINOR_VERSION 15
#define BUILD_NUMBER 11
-#define PATCH_LEVEL 11
+#define PATCH_LEVEL 12
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev