Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index 68c29a3dc76494c38be367ad4202422451790814..cdfea6a4e40798e731c298e177a2f7b0cb8f8324 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -410,8 +410,8 @@ AstGraphBuilder::AstGraphBuilder(Zone* local_zone, CompilationInfo* info, |
Node* AstGraphBuilder::GetFunctionClosure() { |
if (!function_closure_.is_set()) { |
- const Operator* op = |
- common()->Parameter(Linkage::kJSFunctionCallClosureParamIndex); |
+ const Operator* op = common()->Parameter( |
+ Linkage::kJSFunctionCallClosureParamIndex, "%closure"); |
Node* node = NewNode(op, graph()->start()); |
function_closure_.set(node); |
} |
@@ -428,7 +428,8 @@ void AstGraphBuilder::CreateFunctionContext(bool constant_context) { |
Node* AstGraphBuilder::NewOuterContextParam() { |
// Parameter (arity + 1) is special for the outer context of the function |
- const Operator* op = common()->Parameter(info()->num_parameters() + 1); |
+ const Operator* op = |
+ common()->Parameter(info()->num_parameters() + 1, "%context"); |
return NewNode(op, graph()->start()); |
} |
@@ -436,7 +437,8 @@ Node* AstGraphBuilder::NewOuterContextParam() { |
Node* AstGraphBuilder::NewCurrentContextOsrValue() { |
// TODO(titzer): use a real OSR value here; a parameter works by accident. |
// Parameter (arity + 1) is special for the outer context of the function |
- const Operator* op = common()->Parameter(info()->num_parameters() + 1); |
+ const Operator* op = |
+ common()->Parameter(info()->num_parameters() + 1, "%osr-context"); |
return NewNode(op, graph()->start()); |
} |
@@ -575,6 +577,20 @@ static LhsKind DetermineLhsKind(Expression* expr) { |
} |
+static const char* GetDebugParameterName(Zone* zone, Scope* scope, int index) { |
+#if DEBUG |
+ const AstRawString* name = scope->parameter(index)->raw_name(); |
+ if (name && name->length() > 0) { |
+ char* data = zone->NewArray<char>(name->length() + 1); |
+ data[name->length()] = 0; |
+ memcpy(data, name->raw_data(), name->length()); |
+ return data; |
+ } |
+#endif |
+ return nullptr; |
+} |
+ |
+ |
AstGraphBuilder::Environment::Environment(AstGraphBuilder* builder, |
Scope* scope, |
Node* control_dependency) |
@@ -592,15 +608,16 @@ AstGraphBuilder::Environment::Environment(AstGraphBuilder* builder, |
DCHECK_EQ(scope->num_parameters() + 1, parameters_count()); |
// Bind the receiver variable. |
- Node* receiver = builder->graph()->NewNode(common()->Parameter(0), |
+ Node* receiver = builder->graph()->NewNode(common()->Parameter(0, "%this"), |
builder->graph()->start()); |
values()->push_back(receiver); |
// Bind all parameter variables. The parameter indices are shifted by 1 |
// (receiver is parameter index -1 but environment index 0). |
for (int i = 0; i < scope->num_parameters(); ++i) { |
- Node* parameter = builder->graph()->NewNode(common()->Parameter(i + 1), |
- builder->graph()->start()); |
+ const char* debug_name = GetDebugParameterName(graph()->zone(), scope, i); |
+ Node* parameter = builder->graph()->NewNode( |
+ common()->Parameter(i + 1, debug_name), builder->graph()->start()); |
values()->push_back(parameter); |
} |