Chromium Code Reviews| Index: src/compiler/linkage.cc |
| diff --git a/src/compiler/linkage.cc b/src/compiler/linkage.cc |
| index 66e5cda7d7536f01431f1bdf9edf4a1b114299b0..3ef5b9a7a61ea337f6fcc417ec18c15fa5ffb788 100644 |
| --- a/src/compiler/linkage.cc |
| +++ b/src/compiler/linkage.cc |
| @@ -387,8 +387,8 @@ CallDescriptor* Linkage::GetJSCallDescriptor(Zone* zone, bool is_osr, |
| CallDescriptor* Linkage::GetInterpreterDispatchDescriptor(Zone* zone) { |
| - MachineSignature::Builder types(zone, 0, 5); |
| - LocationSignature::Builder locations(zone, 0, 5); |
| + MachineSignature::Builder types(zone, 0, 6); |
| + LocationSignature::Builder locations(zone, 0, 6); |
| // Add registers for fixed parameters passed via interpreter dispatch. |
| STATIC_ASSERT(0 == Linkage::kInterpreterAccumulatorParameter); |
| @@ -411,6 +411,15 @@ CallDescriptor* Linkage::GetInterpreterDispatchDescriptor(Zone* zone) { |
| types.AddParam(kMachPtr); |
| locations.AddParam(regloc(kInterpreterDispatchTableRegister)); |
| + STATIC_ASSERT(5 == Linkage::kInterpreterContextParameter); |
| + types.AddParam(kMachAnyTagged); |
| +#if defined(V8_TARGET_ARCH_IA32) |
|
Michael Starzinger
2015/08/20 09:32:02
Just for posterity: Not a huge fan of this #ifdef
rmcilroy
2015/08/24 10:14:38
Acknowledged.
|
| + locations.AddParam( |
| + LinkageLocation::ForCallerFrameSlot(kInterpreterContextSpillSlot)); |
| +#else |
| + locations.AddParam(regloc(kContextRegister)); |
| +#endif |
| + |
| LinkageLocation target_loc = LinkageLocation::ForAnyRegister(); |
| return new (zone) CallDescriptor( // -- |
| CallDescriptor::kCallCodeObject, // kind |