Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 329fd18dc47cbbde28cd7a16e274d84159cda4e1..9f8d4ba44380ffbabeaa40a977a4c6b9a42984d1 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); |