Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 986921fef551fa68a52a0615b8513d2dc54ddba7..a4de721c08c9582b8bbac004a3cf20d70fbbe565 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -2343,6 +2343,7 @@ void LCodeGen::DoLoadNamedFieldPolymorphic(LLoadNamedFieldPolymorphic* instr) { |
Register object = ToRegister(instr->object()); |
Register result = ToRegister(instr->result()); |
Register scratch = scratch0(); |
+ |
int map_count = instr->hydrogen()->types()->length(); |
bool need_generic = instr->hydrogen()->need_generic(); |
@@ -2357,8 +2358,8 @@ void LCodeGen::DoLoadNamedFieldPolymorphic(LLoadNamedFieldPolymorphic* instr) { |
bool last = (i == map_count - 1); |
Handle<Map> map = instr->hydrogen()->types()->at(i); |
if (last && !need_generic) { |
- Handle<Map> map = instr->hydrogen()->types()->last(); |
DeoptimizeIf(ne, instr->environment(), scratch, Operand(map)); |
+ EmitLoadFieldOrConstantFunction(result, object, map, name); |
} else { |
Label next; |
__ Branch(&next, ne, scratch, Operand(map)); |