| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 6c934b7ce9a7654a3b8fd6faa4238a2481f899dd..322df344900c3c99cfa9daf0f66c0a78139ce1a4 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -5951,7 +5951,13 @@ void LCodeGen::DoDeferredAllocate(LAllocate* instr) {
|
| __ push(size);
|
| } else {
|
| int32_t size = ToInteger32(LConstantOperand::cast(instr->size()));
|
| - __ push(Immediate(Smi::FromInt(size)));
|
| + if (size >= 0 && size <= Smi::kMaxValue) {
|
| + __ push(Immediate(Smi::FromInt(size)));
|
| + } else {
|
| + // We should never get here at runtime => abort
|
| + __ int3();
|
| + return;
|
| + }
|
| }
|
|
|
| int flags = AllocateDoubleAlignFlag::encode(
|
|
|