| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 62f4c656f456b02dd0fd62bab669a9dfb385c4ae..64e870e9d60133d7dca9c980474e3082cbf5fc4b 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -128,11 +128,11 @@ bool LCodeGen::GeneratePrologue() {
|
| }
|
| #endif
|
|
|
| - // Strict mode functions need to replace the receiver with undefined
|
| - // when called as functions (without an explicit receiver
|
| - // object). ecx is zero for method calls and non-zero for function
|
| - // calls.
|
| - if (info_->is_strict_mode()) {
|
| + // Strict mode functions and builtins need to replace the receiver
|
| + // with undefined when called as functions (without an explicit
|
| + // receiver object). ecx is zero for method calls and non-zero for
|
| + // function calls.
|
| + if (info_->is_strict_mode() || info_->is_es5_native()) {
|
| Label ok;
|
| __ test(ecx, Operand(ecx));
|
| __ j(zero, &ok, Label::kNear);
|
|
|