| Index: src/arm64/full-codegen-arm64.cc
|
| diff --git a/src/arm64/full-codegen-arm64.cc b/src/arm64/full-codegen-arm64.cc
|
| index 81ccf2a031cd5b2c753a6efc744c0600abbb3501..c0eca3c401b5af80dbfc4c8831e5bc5075b67953 100644
|
| --- a/src/arm64/full-codegen-arm64.cc
|
| +++ b/src/arm64/full-codegen-arm64.cc
|
| @@ -2741,6 +2741,15 @@ 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);
|
| + __ Ldr(x0, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
|
| + __ Push(x0);
|
| + __ 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.
|
|
|