Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index e47ad1c072ff22603fee86e2e03fee7ea73295c9..fed2ef5cf4a9834f2eb904f27c463939088ef932 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -447,15 +447,17 @@ void StubCompiler::GenerateLoadCallback(JSObject* object, |
// Push the arguments on the JS stack of the caller. |
__ pop(scratch2); // remove return address |
__ push(receiver); // receiver |
- __ push(Immediate(Handle<AccessorInfo>(callback))); // callback data |
- __ push(name_reg); // name |
__ push(reg); // holder |
+ __ mov(reg, Immediate(Handle<AccessorInfo>(callback))); // callback data |
antonm
2009/07/23 21:12:58
why not __ push(Immediate....)?
Vitaly Repeshko
2009/07/24 13:45:38
I need this data in a register anyway (to support
|
+ __ push(reg); |
+ __ push(FieldOperand(reg, AccessorInfo::kDataOffset)); |
antonm
2009/07/23 21:12:58
ditto (shortcutting if data is not in new space)
Vitaly Repeshko
2009/07/24 13:45:38
I tried it and my measurements didn't show any dif
|
+ __ push(name_reg); // name |
__ push(scratch2); // restore return address |
// Do tail-call to the runtime system. |
ExternalReference load_callback_property = |
ExternalReference(IC_Utility(IC::kLoadCallbackProperty)); |
- __ TailCallRuntime(load_callback_property, 4); |
+ __ TailCallRuntime(load_callback_property, 5); |
} |