Chromium Code Reviews| Index: src/codegen-ia32.cc |
| diff --git a/src/codegen-ia32.cc b/src/codegen-ia32.cc |
| index b5e00eb2ff22399f5932457b3afa174be9bd17fa..5253d53023b91f1dafa9b64fa8ce703872a3d38a 100644 |
| --- a/src/codegen-ia32.cc |
| +++ b/src/codegen-ia32.cc |
| @@ -3912,9 +3912,14 @@ void CodeGenerator::VisitCall(Call* node) { |
| ref.GetValue(NOT_INSIDE_TYPEOF); |
| // Pass receiver to called function. |
| - // The reference's size is non-negative. |
| - frame_->SpillAll(); |
| - frame_->EmitPush(frame_->ElementAt(ref.size())); |
| + if (property->is_synthetic()) { |
| + // Use global object as receiver. |
| + LoadGlobalReceiver(); |
| + } else { |
| + // The reference's size is non-negative. |
| + frame_->SpillAll(); |
|
Kevin Millikin (Chromium)
2009/03/10 12:10:10
I know it's not your code, but you could try getti
Lasse Reichstein
2009/03/10 12:21:08
Done.
|
| + frame_->EmitPush(frame_->ElementAt(ref.size())); |
| + } |
| // Call the function. |
| CallWithArguments(args, node->position()); |