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(&not_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


Reply via email to