Index: src/mips64/lithium-mips64.cc |
diff --git a/src/mips64/lithium-mips64.cc b/src/mips64/lithium-mips64.cc |
index 97c2d2ef753a7c5312715a6578cbb1d6d93c6d3c..9d725313021e5dcda8ca014e0bec0f98f7f4c470 100644 |
--- a/src/mips64/lithium-mips64.cc |
+++ b/src/mips64/lithium-mips64.cc |
@@ -1631,7 +1631,10 @@ LInstruction* LChunkBuilder::DoAdd(HAdd* instr) { |
return result; |
} else if (instr->representation().IsExternal()) { |
DCHECK(instr->left()->representation().IsExternal()); |
- DCHECK(instr->right()->representation().IsInteger32()); |
+ DCHECK((instr->external_add_type() == AddOfExternalAndInt32 && |
+ instr->right()->representation().IsInteger32()) || |
+ (instr->external_add_type() == AddOfExternalAndTagged && |
+ instr->right()->representation().IsTagged())); |
DCHECK(!instr->CheckFlag(HValue::kCanOverflow)); |
LOperand* left = UseRegisterAtStart(instr->left()); |
LOperand* right = UseRegisterOrConstantAtStart(instr->right()); |