| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index 5c337e8df81cd13d61d701bcb23d40cab11265b4..89620d8702e4969bda23bed7c772b33f4fe664d1 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -5371,7 +5371,13 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
| __ 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(
|
|
|