Revision: 20491
Author:   pal...@homejinni.com
Date:     Thu Apr  3 23:34:28 2014 UTC
Log:      MIPS: Check in Lithium that allocation size in Smi range.

Port r20458 (984d99c9)

Oirginal commit message:
This is to avoid triggering an assertion from Smi::FromInt. The
generated code is unreachable, so it is not a real bug.

BUG=
R=plin...@gmail.com

Review URL: https://codereview.chromium.org/224583002
http://code.google.com/p/v8/source/detail?r=20491

Modified:
 /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Wed Apr 2 22:18:22 2014 UTC +++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Thu Apr 3 23:34:28 2014 UTC
@@ -5371,7 +5371,13 @@
     __ push(size);
   } else {
     int32_t size = ToInteger32(LConstantOperand::cast(instr->size()));
-    __ Push(Smi::FromInt(size));
+    if (size >= 0 && size <= Smi::kMaxValue) {
+      __ Push(Smi::FromInt(size));
+    } else {
+      // We should never get here at runtime => abort
+      __ stop("invalid allocation size");
+      return;
+    }
   }

   int flags = AllocateDoubleAlignFlag::encode(

--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to