Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Unified Diff: src/compiler/linkage-impl.h

Issue 552803002: Get CallInterfaceDescriptor directly from CodeStub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/compiler/linkage-impl.h
diff --git a/src/compiler/linkage-impl.h b/src/compiler/linkage-impl.h
index e35f47c8e2e1053c47083ec7d8e53e2a521e8927..c32c7066fd5530b9824e2f9b12ac8d67acf582c0 100644
--- a/src/compiler/linkage-impl.h
+++ b/src/compiler/linkage-impl.h
@@ -129,10 +129,10 @@ class LinkageHelper {
// TODO(turbofan): cache call descriptors for code stub calls.
static CallDescriptor* GetStubCallDescriptor(
- Zone* zone, CodeStubInterfaceDescriptor* descriptor,
- int stack_parameter_count, CallDescriptor::Flags flags) {
+ Zone* zone, CallInterfaceDescriptor descriptor, int stack_parameter_count,
+ CallDescriptor::Flags flags) {
const int register_parameter_count =
- descriptor->GetEnvironmentParameterCount();
+ descriptor.GetEnvironmentParameterCount();
const int js_parameter_count =
register_parameter_count + stack_parameter_count;
const int context_count = 1;
@@ -151,7 +151,7 @@ class LinkageHelper {
for (int i = 0; i < js_parameter_count; i++) {
if (i < register_parameter_count) {
// The first parameters go in registers.
- Register reg = descriptor->GetEnvironmentParameterRegister(i);
+ Register reg = descriptor.GetEnvironmentParameterRegister(i);
locations.AddParam(regloc(reg));
} else {
// The rest of the parameters go on the stack.
@@ -167,17 +167,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
- CodeStub::MajorName(descriptor->MajorKey(), false));
+ 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,

Powered by Google App Engine
This is Rietveld 408576698