Index: src/mips/ic-mips.cc |
diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc |
index ea8601f9de635ba45475d89330626450040a0b2c..834135cc031e14df1658e93b173443999318968c 100644 |
--- a/src/mips/ic-mips.cc |
+++ b/src/mips/ic-mips.cc |
@@ -339,14 +339,18 @@ void LoadIC::GenerateNormal(MacroAssembler* masm) { |
// -- lr : return address |
// -- a0 : receiver |
// ----------------------------------- |
- Label miss; |
+ Label miss, slow; |
GenerateNameDictionaryReceiverCheck(masm, a0, a1, a3, t0, &miss); |
// a1: elements |
- GenerateDictionaryLoad(masm, &miss, a1, a2, v0, a3, t0); |
+ GenerateDictionaryLoad(masm, &slow, a1, a2, v0, a3, t0); |
__ Ret(); |
+ // Dictionary load failed, go slow (but don't miss). |
+ __ bind(&slow); |
+ GenerateRuntimeGetProperty(masm); |
+ |
// Cache miss: Jump to runtime. |
__ bind(&miss); |
GenerateMiss(masm); |