| Index: src/ia32/ic-ia32.cc
|
| diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc
|
| index 83a4496b73ee047b2eeec162929352c99f286e85..b0e4ca0c60c2675899383b5a0fd95fe16546115d 100644
|
| --- a/src/ia32/ic-ia32.cc
|
| +++ b/src/ia32/ic-ia32.cc
|
| @@ -947,15 +947,19 @@ void LoadIC::GenerateNormal(MacroAssembler* masm) {
|
| // -- edx : receiver
|
| // -- esp[0] : return address
|
| // -----------------------------------
|
| - Label miss;
|
| + Label miss, slow;
|
|
|
| GenerateNameDictionaryReceiverCheck(masm, edx, eax, ebx, &miss);
|
|
|
| // eax: elements
|
| // Search the dictionary placing the result in eax.
|
| - GenerateDictionaryLoad(masm, &miss, eax, ecx, edi, ebx, eax);
|
| + GenerateDictionaryLoad(masm, &slow, eax, ecx, edi, ebx, eax);
|
| __ ret(0);
|
|
|
| + // Dictionary load failed, go slow (but don't miss).
|
| + __ bind(&slow);
|
| + GenerateRuntimeGetProperty(masm);
|
| +
|
| // Cache miss: Jump to runtime.
|
| __ bind(&miss);
|
| GenerateMiss(masm);
|
|
|