| Index: src/ic/ia32/stub-cache-ia32.cc | 
| diff --git a/src/ic/ia32/stub-cache-ia32.cc b/src/ic/ia32/stub-cache-ia32.cc | 
| index e5791793f5de72f3cda573bdec84486399b5b108..7366ebe15f7fcca56953eb7e31886317257ca9e0 100644 | 
| --- a/src/ic/ia32/stub-cache-ia32.cc | 
| +++ b/src/ic/ia32/stub-cache-ia32.cc | 
| @@ -23,6 +23,8 @@ static void ProbeTable(Isolate* isolate, MacroAssembler* masm, | 
| ExternalReference key_offset(isolate->stub_cache()->key_reference(table)); | 
| ExternalReference value_offset(isolate->stub_cache()->value_reference(table)); | 
| ExternalReference map_offset(isolate->stub_cache()->map_reference(table)); | 
| +  ExternalReference virtual_register = | 
| +      ExternalReference::vector_store_virtual_register(masm->isolate()); | 
|  | 
| Label miss; | 
| bool is_vector_store = | 
| @@ -67,9 +69,10 @@ static void ProbeTable(Isolate* isolate, MacroAssembler* masm, | 
| DCHECK(extra.is(VectorStoreICDescriptor::SlotRegister())); | 
| __ add(extra, Immediate(Code::kHeaderSize - kHeapObjectTag)); | 
| __ pop(vector); | 
| -      __ xchg(extra, Operand(esp, 0)); | 
| +      __ mov(Operand::StaticVariable(virtual_register), extra); | 
| +      __ pop(extra);  // Pop "slot". | 
| // Jump to the first instruction in the code stub. | 
| -      __ ret(0); | 
| +      __ jmp(Operand::StaticVariable(virtual_register)); | 
| } else { | 
| __ pop(LoadWithVectorDescriptor::VectorRegister()); | 
| __ pop(LoadDescriptor::SlotRegister()); | 
| @@ -124,9 +127,10 @@ static void ProbeTable(Isolate* isolate, MacroAssembler* masm, | 
| Register vector = VectorStoreICDescriptor::VectorRegister(); | 
| DCHECK(offset.is(VectorStoreICDescriptor::SlotRegister())); | 
| __ add(offset, Immediate(Code::kHeaderSize - kHeapObjectTag)); | 
| +      __ mov(Operand::StaticVariable(virtual_register), offset); | 
| __ pop(vector); | 
| -      __ xchg(offset, Operand(esp, 0)); | 
| -      __ ret(0); | 
| +      __ pop(offset);  // Pop "slot". | 
| +      __ jmp(Operand::StaticVariable(virtual_register)); | 
| } else { | 
| __ add(offset, Immediate(Code::kHeaderSize - kHeapObjectTag)); | 
| __ jmp(offset); | 
|  |