Chromium Code Reviews| Index: src/ia32/full-codegen-ia32.cc |
| diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
| index ad838b97951fdaea9feb144ab3b49200b8d87474..c9e1be98adedfdfce82fe91c27f4b4bf26f3089f 100644 |
| --- a/src/ia32/full-codegen-ia32.cc |
| +++ b/src/ia32/full-codegen-ia32.cc |
| @@ -1,4 +1,4 @@ |
| -// Copyright 2012 the V8 project authors. All rights reserved. |
| +/ Copyright 2012 the V8 project authors. All rights reserved. |
|
arv (Not doing code reviews)
2014/10/15 14:47:18
oops
Dmitry Lomov (no reviews)
2014/10/15 17:22:57
Done.
|
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| @@ -2972,6 +2972,14 @@ void FullCodeGenerator::VisitCall(Call* expr) { |
| EmitKeyedCallWithLoadIC(expr, property->key()); |
| } |
| } |
| + } else if (call_type == Call::SUPER_CALL) { |
| + SuperReference* super_ref = callee->AsSuperReference(); |
| + DCHECK(super_ref != NULL); |
| + __ push(Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
| + __ CallRuntime(Runtime::kGetPrototype, 1); |
| + __ push(result_register()); |
| + VisitForStackValue(super_ref->this_var()); |
| + EmitCall(expr, CallICState::METHOD); |
| } else { |
| DCHECK(call_type == Call::OTHER_CALL); |
| // Call to an arbitrary expression not handled specially above. |