| Index: src/compiler/linkage-impl.h
 | 
| diff --git a/src/compiler/linkage-impl.h b/src/compiler/linkage-impl.h
 | 
| index c964eee0682085ce7f6ebf0d9ff76cbb2f4083e5..807d626be2e3792874abda1869971cdbbaf48770 100644
 | 
| --- a/src/compiler/linkage-impl.h
 | 
| +++ b/src/compiler/linkage-impl.h
 | 
| @@ -28,8 +28,8 @@ class LinkageHelper {
 | 
|    }
 | 
|  
 | 
|    // TODO(turbofan): cache call descriptors for JSFunction calls.
 | 
| -  static CallDescriptor* GetJSCallDescriptor(Zone* zone, int js_parameter_count,
 | 
| -                                             CallDescriptor::Flags flags) {
 | 
| +  static CallDescriptor* GetJSCallDescriptor(Zone* zone,
 | 
| +                                             int js_parameter_count) {
 | 
|      const size_t return_count = 1;
 | 
|      const size_t context_count = 1;
 | 
|      const size_t parameter_count = js_parameter_count + context_count;
 | 
| @@ -56,17 +56,16 @@ class LinkageHelper {
 | 
|      // The target for JS function calls is the JSFunction object.
 | 
|      MachineType target_type = kMachAnyTagged;
 | 
|      LinkageLocation target_loc = regloc(LinkageTraits::JSCallFunctionReg());
 | 
| -    return new (zone) CallDescriptor(     // --
 | 
| -        CallDescriptor::kCallJSFunction,  // kind
 | 
| -        target_type,                      // target MachineType
 | 
| -        target_loc,                       // target location
 | 
| -        types.Build(),                    // machine_sig
 | 
| -        locations.Build(),                // location_sig
 | 
| -        js_parameter_count,               // js_parameter_count
 | 
| -        Operator::kNoProperties,          // properties
 | 
| -        kNoCalleeSaved,                   // callee-saved
 | 
| -        flags,                            // flags
 | 
| -        "js-call");
 | 
| +    return new (zone) CallDescriptor(CallDescriptor::kCallJSFunction,  // kind
 | 
| +                                     target_type,         // target MachineType
 | 
| +                                     target_loc,          // target location
 | 
| +                                     types.Build(),       // machine_sig
 | 
| +                                     locations.Build(),   // location_sig
 | 
| +                                     js_parameter_count,  // js_parameter_count
 | 
| +                                     Operator::kNoProperties,  // properties
 | 
| +                                     kNoCalleeSaved,           // callee-saved
 | 
| +                                     CallDescriptor::kNeedsFrameState,  // flags
 | 
| +                                     "js-call");
 | 
|    }
 | 
|  
 | 
|  
 | 
| @@ -117,17 +116,16 @@ class LinkageHelper {
 | 
|      // The target for runtime calls is a code object.
 | 
|      MachineType target_type = kMachAnyTagged;
 | 
|      LinkageLocation target_loc = LinkageLocation::AnyRegister();
 | 
| -    return new (zone) CallDescriptor(     // --
 | 
| -        CallDescriptor::kCallCodeObject,  // kind
 | 
| -        target_type,                      // target MachineType
 | 
| -        target_loc,                       // target location
 | 
| -        types.Build(),                    // machine_sig
 | 
| -        locations.Build(),                // location_sig
 | 
| -        js_parameter_count,               // js_parameter_count
 | 
| -        properties,                       // properties
 | 
| -        kNoCalleeSaved,                   // callee-saved
 | 
| -        flags,                            // flags
 | 
| -        function->name);                  // debug name
 | 
| +    return new (zone) CallDescriptor(CallDescriptor::kCallCodeObject,  // kind
 | 
| +                                     target_type,         // target MachineType
 | 
| +                                     target_loc,          // target location
 | 
| +                                     types.Build(),       // machine_sig
 | 
| +                                     locations.Build(),   // location_sig
 | 
| +                                     js_parameter_count,  // js_parameter_count
 | 
| +                                     properties,          // properties
 | 
| +                                     kNoCalleeSaved,      // callee-saved
 | 
| +                                     flags,               // flags
 | 
| +                                     function->name);     // debug name
 | 
|    }
 | 
|  
 | 
|  
 | 
| @@ -171,17 +169,16 @@ class LinkageHelper {
 | 
|      // The target for stub calls is a code object.
 | 
|      MachineType target_type = kMachAnyTagged;
 | 
|      LinkageLocation target_loc = LinkageLocation::AnyRegister();
 | 
| -    return new (zone) CallDescriptor(     // --
 | 
| -        CallDescriptor::kCallCodeObject,  // kind
 | 
| -        target_type,                      // target MachineType
 | 
| -        target_loc,                       // target location
 | 
| -        types.Build(),                    // machine_sig
 | 
| -        locations.Build(),                // location_sig
 | 
| -        js_parameter_count,               // js_parameter_count
 | 
| -        Operator::kNoProperties,          // properties
 | 
| -        kNoCalleeSaved,                   // callee-saved registers
 | 
| -        flags,                            // flags
 | 
| -        descriptor.DebugName(zone->isolate()));
 | 
| +    return new (zone) CallDescriptor(CallDescriptor::kCallCodeObject,  // kind
 | 
| +                                     target_type,         // target MachineType
 | 
| +                                     target_loc,          // target location
 | 
| +                                     types.Build(),       // machine_sig
 | 
| +                                     locations.Build(),   // location_sig
 | 
| +                                     js_parameter_count,  // js_parameter_count
 | 
| +                                     Operator::kNoProperties,  // properties
 | 
| +                                     kNoCalleeSaved,  // callee-saved registers
 | 
| +                                     flags,           // flags
 | 
| +                                     descriptor.DebugName(zone->isolate()));
 | 
|    }
 | 
|  
 | 
|    static CallDescriptor* GetSimplifiedCDescriptor(Zone* zone,
 | 
| @@ -204,16 +201,15 @@ class LinkageHelper {
 | 
|      // The target for C calls is always an address (i.e. machine pointer).
 | 
|      MachineType target_type = kMachPtr;
 | 
|      LinkageLocation target_loc = LinkageLocation::AnyRegister();
 | 
| -    return new (zone) CallDescriptor(  // --
 | 
| -        CallDescriptor::kCallAddress,  // kind
 | 
| -        target_type,                   // target MachineType
 | 
| -        target_loc,                    // target location
 | 
| -        msig,                          // machine_sig
 | 
| -        locations.Build(),             // location_sig
 | 
| -        0,                             // js_parameter_count
 | 
| -        Operator::kNoProperties,       // properties
 | 
| -        LinkageTraits::CCalleeSaveRegisters(), CallDescriptor::kNoFlags,
 | 
| -        "c-call");
 | 
| +    return new (zone) CallDescriptor(CallDescriptor::kCallAddress,  // kind
 | 
| +                                     target_type,        // target MachineType
 | 
| +                                     target_loc,         // target location
 | 
| +                                     msig,               // machine_sig
 | 
| +                                     locations.Build(),  // location_sig
 | 
| +                                     0,                  // js_parameter_count
 | 
| +                                     Operator::kNoProperties,  // properties
 | 
| +                                     LinkageTraits::CCalleeSaveRegisters(),
 | 
| +                                     CallDescriptor::kNoFlags, "c-call");
 | 
|    }
 | 
|  
 | 
|    static LinkageLocation regloc(Register reg) {
 | 
| 
 |