Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 56418e5e9373ab697672aa947bf2758cfa1bfe3d..270b9335596a923ad451bf30dbf8afc1860166d1 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -118,8 +118,7 @@ bool LCodeGen::GeneratePrologue() { |
// Sloppy mode functions and builtins need to replace the receiver with the |
// global proxy when called as functions (without an explicit receiver |
// object). |
- if (is_sloppy(info_->language_mode()) && info()->MayUseThis() && |
- !info_->is_native() && info_->scope()->has_this_declaration()) { |
+ if (info()->MustReplaceUndefinedReceiverWithGlobalProxy()) { |
Label ok; |
int receiver_offset = info_->scope()->num_parameters() * kPointerSize; |
__ ldr(r2, MemOperand(sp, receiver_offset)); |