| Index: src/ia32/stub-cache-ia32.cc | 
| =================================================================== | 
| --- src/ia32/stub-cache-ia32.cc	(revision 3838) | 
| +++ src/ia32/stub-cache-ia32.cc	(working copy) | 
| @@ -1767,13 +1767,12 @@ | 
| int index, | 
| String* name) { | 
| // ----------- S t a t e ------------- | 
| +  //  -- eax    : receiver | 
| //  -- ecx    : name | 
| //  -- esp[0] : return address | 
| -  //  -- esp[4] : receiver | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| -  __ mov(eax, Operand(esp, kPointerSize)); | 
| GenerateLoadField(object, holder, eax, ebx, edx, index, name, &miss); | 
| __ bind(&miss); | 
| GenerateLoadMiss(masm(), Code::LOAD_IC); | 
| @@ -1788,13 +1787,12 @@ | 
| JSObject* holder, | 
| AccessorInfo* callback) { | 
| // ----------- S t a t e ------------- | 
| +  //  -- eax    : receiver | 
| //  -- ecx    : name | 
| //  -- esp[0] : return address | 
| -  //  -- esp[4] : receiver | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| -  __ mov(eax, Operand(esp, kPointerSize)); | 
| Failure* failure = Failure::InternalError(); | 
| bool success = GenerateLoadCallback(object, holder, eax, ecx, ebx, edx, | 
| callback, name, &miss, &failure); | 
| @@ -1813,13 +1811,12 @@ | 
| Object* value, | 
| String* name) { | 
| // ----------- S t a t e ------------- | 
| +  //  -- eax    : receiver | 
| //  -- ecx    : name | 
| //  -- esp[0] : return address | 
| -  //  -- esp[4] : receiver | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| -  __ mov(eax, Operand(esp, kPointerSize)); | 
| GenerateLoadConstant(object, holder, eax, ebx, edx, value, name, &miss); | 
| __ bind(&miss); | 
| GenerateLoadMiss(masm(), Code::LOAD_IC); | 
| @@ -1833,16 +1830,15 @@ | 
| JSObject* holder, | 
| String* name) { | 
| // ----------- S t a t e ------------- | 
| +  //  -- eax    : receiver | 
| //  -- ecx    : name | 
| //  -- esp[0] : return address | 
| -  //  -- esp[4] : receiver | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| LookupResult lookup; | 
| LookupPostInterceptor(holder, name, &lookup); | 
|  | 
| -  __ mov(eax, Operand(esp, kPointerSize)); | 
| // TODO(368): Compile in the whole chain: all the interceptors in | 
| // prototypes and ultimate answer. | 
| GenerateLoadInterceptor(receiver, | 
| @@ -1869,15 +1865,12 @@ | 
| String* name, | 
| bool is_dont_delete) { | 
| // ----------- S t a t e ------------- | 
| +  //  -- eax    : receiver | 
| //  -- ecx    : name | 
| //  -- esp[0] : return address | 
| -  //  -- esp[4] : receiver | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| -  // Get the receiver from the stack. | 
| -  __ mov(eax, Operand(esp, kPointerSize)); | 
| - | 
| // If the object is the holder then we know that it's a global | 
| // object which can only happen for contextual loads. In this case, | 
| // the receiver cannot be a smi. | 
| @@ -1890,19 +1883,20 @@ | 
| CheckPrototypes(object, eax, holder, ebx, edx, name, &miss); | 
|  | 
| // Get the value from the cell. | 
| -  __ mov(eax, Immediate(Handle<JSGlobalPropertyCell>(cell))); | 
| -  __ mov(eax, FieldOperand(eax, JSGlobalPropertyCell::kValueOffset)); | 
| +  __ mov(ebx, Immediate(Handle<JSGlobalPropertyCell>(cell))); | 
| +  __ mov(ebx, FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset)); | 
|  | 
| // Check for deleted property if property can actually be deleted. | 
| if (!is_dont_delete) { | 
| -    __ cmp(eax, Factory::the_hole_value()); | 
| +    __ cmp(ebx, Factory::the_hole_value()); | 
| __ j(equal, &miss, not_taken); | 
| } else if (FLAG_debug_code) { | 
| -    __ cmp(eax, Factory::the_hole_value()); | 
| +    __ cmp(ebx, Factory::the_hole_value()); | 
| __ Check(not_equal, "DontDelete cells can't contain the hole"); | 
| } | 
|  | 
| __ IncrementCounter(&Counters::named_load_global_inline, 1); | 
| +  __ mov(eax, ebx); | 
| __ ret(0); | 
|  | 
| __ bind(&miss); | 
|  |