Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index 4381b224938c9bf5c2e6b66e8579b741361590f0..963b0e3ac884ab33ac16ab5276340b5d51edd01b 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -462,6 +462,8 @@ void Builtins::Generate_FunctionCall(MacroAssembler* masm) { |
const int kGlobalIndex = |
Context::kHeaderSize + Context::GLOBAL_INDEX * kPointerSize; |
__ mov(ebx, FieldOperand(esi, kGlobalIndex)); |
+ __ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalContextOffset)); |
+ __ mov(ebx, FieldOperand(ebx, kGlobalIndex)); |
__ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalReceiverOffset)); |
__ bind(&patch_receiver); |
@@ -606,6 +608,8 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) { |
const int kGlobalOffset = |
Context::kHeaderSize + Context::GLOBAL_INDEX * kPointerSize; |
__ mov(ebx, FieldOperand(esi, kGlobalOffset)); |
+ __ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalContextOffset)); |
+ __ mov(ebx, FieldOperand(ebx, kGlobalOffset)); |
__ mov(ebx, FieldOperand(ebx, GlobalObject::kGlobalReceiverOffset)); |
// Push the receiver. |