| Index: src/arm64/lithium-codegen-arm64.cc
|
| diff --git a/src/arm64/lithium-codegen-arm64.cc b/src/arm64/lithium-codegen-arm64.cc
|
| index ddf1677573bf885a4f2198a0a8bd509f757771fe..7fdd94fee11f1beda5688c146720f55b19b23a83 100644
|
| --- a/src/arm64/lithium-codegen-arm64.cc
|
| +++ b/src/arm64/lithium-codegen-arm64.cc
|
| @@ -1267,8 +1267,7 @@ bool LCodeGen::IsSmi(LConstantOperand* op) const {
|
|
|
|
|
| bool LCodeGen::IsInteger32Constant(LConstantOperand* op) const {
|
| - return op->IsConstantOperand() &&
|
| - chunk_->LookupLiteralRepresentation(op).IsSmiOrInteger32();
|
| + return chunk_->LookupLiteralRepresentation(op).IsSmiOrInteger32();
|
| }
|
|
|
|
|
| @@ -5241,6 +5240,9 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) {
|
| SmiCheck check_needed = instr->hydrogen()->value()->IsHeapObject()
|
| ? OMIT_SMI_CHECK : INLINE_SMI_CHECK;
|
|
|
| + ASSERT(!(representation.IsSmi() &&
|
| + instr->value()->IsConstantOperand() &&
|
| + !IsInteger32Constant(LConstantOperand::cast(instr->value()))));
|
| if (representation.IsHeapObject() &&
|
| !instr->hydrogen()->value()->type().IsHeapObject()) {
|
| DeoptimizeIfSmi(value, instr->environment());
|
|
|