MIPS: port Fix receiver for calls to strict-mode and builtin functions ....

Fix receiver for calls to strict-mode and builtin functions that
are potentially shadowed by eval.

Port r8116 (e8a1e4842) to mips.

BUG=
TEST=

Review URL: http://codereview.chromium.org//7090003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
sgjesse@chromium.org 2011-06-01 09:06:46 +00:00
parent d7f2f83b3b
commit 56de6f750a

View File

@ -2310,9 +2310,9 @@ void FullCodeGenerator::VisitCall(Call* expr) {
__ bind(&done);
// Push function.
__ push(v0);
// Push global receiver.
__ lw(a1, GlobalObjectOperand());
__ lw(a1, FieldMemOperand(a1, GlobalObject::kGlobalReceiverOffset));
// The receiver is implicitly the global receiver. Indicate this
// by passing the hole to the call function stub.
__ LoadRoot(a1, Heap::kTheHoleValueRootIndex);
__ push(a1);
__ bind(&call);
}