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); |