| Index: src/compiler/linkage-impl.h
|
| diff --git a/src/compiler/linkage-impl.h b/src/compiler/linkage-impl.h
|
| index 27b0235b9701e343512072d9b968d1154b11cf46..5b638034c8cbeaf7e141eda55d0d71150ba3bdcf 100644
|
| --- a/src/compiler/linkage-impl.h
|
| +++ b/src/compiler/linkage-impl.h
|
| @@ -233,6 +233,27 @@ class LinkageHelper {
|
| "c-call");
|
| }
|
|
|
| + static CallDescriptor* GetInterpreterDispatchDescriptor(
|
| + Zone* zone, const MachineSignature* msig) {
|
| + DCHECK_EQ(0, msig->parameter_count());
|
| + LocationSignature::Builder locations(zone, msig->return_count(),
|
| + msig->parameter_count());
|
| + AddReturnLocations(&locations);
|
| + LinkageLocation target_loc = LinkageLocation::AnyRegister();
|
| + return new (zone) CallDescriptor( // --
|
| + CallDescriptor::kInterpreterDispatch, // kind
|
| + kMachNone, // target MachineType
|
| + target_loc, // target location
|
| + msig, // machine_sig
|
| + locations.Build(), // location_sig
|
| + 0, // js_parameter_count
|
| + Operator::kNoProperties, // properties
|
| + kNoCalleeSaved, // callee-saved registers
|
| + kNoCalleeSaved, // callee-saved fp regs
|
| + CallDescriptor::kSupportsTailCalls, // flags
|
| + "interpreter-dispatch");
|
| + }
|
| +
|
| static LinkageLocation regloc(Register reg) {
|
| return LinkageLocation(Register::ToAllocationIndex(reg));
|
| }
|
|
|