| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 57baf77ca2a6909b1a9290200c439ded752e48fb..e1bb4c04d97c6c3006837190d242544dfe4abd2f 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -131,11 +131,11 @@ void FullCodeGenerator::Generate(CompilationInfo* info) {
|
| }
|
| #endif
|
|
|
| - // Strict mode functions need to replace the receiver with undefined
|
| - // when called as functions (without an explicit receiver
|
| - // object). rcx 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). rcx is zero for method calls and non-zero for
|
| + // function calls.
|
| + if (info->is_strict_mode() || info->is_native()) {
|
| Label ok;
|
| __ testq(rcx, rcx);
|
| __ j(zero, &ok, Label::kNear);
|
|
|