Use an efficient graph constant in CodeStubGraphBuilderBase::BuildGraph().
authormvstanton@chromium.org <mvstanton@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 12 Mar 2013 15:37:23 +0000 (15:37 +0000)
committermvstanton@chromium.org <mvstanton@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 12 Mar 2013 15:37:23 +0000 (15:37 +0000)
Improve printing for HReturn.

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/12585004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/code-stubs-hydrogen.cc
src/hydrogen-instructions.cc

index ab2fb08..bb8bfe3 100644 (file)
@@ -132,14 +132,13 @@ bool CodeStubGraphBuilderBase::BuildGraph() {
     // it's essential to bind this value to the environment in case of deopt
     start_environment->Bind(param_count, stack_parameter_count);
     AddInstruction(stack_parameter_count);
+    arguments_length_ = stack_parameter_count;
   } else {
     ASSERT(descriptor_->environment_length() == param_count);
-    stack_parameter_count = AddInstruction(new(zone)
-        HConstant(-1, Representation::Integer32()));
+    stack_parameter_count = graph()->GetConstantMinus1();
+    arguments_length_ = graph()->GetConstant0();
   }
 
-  arguments_length_ = stack_parameter_count;
-
   context_ = new(zone) HContext();
   AddInstruction(context_);
   start_environment->BindContext(context_);
index eca1aea..8399f0b 100644 (file)
@@ -1034,6 +1034,9 @@ void HIsNilAndBranch::PrintDataTo(StringStream* stream) {
 
 void HReturn::PrintDataTo(StringStream* stream) {
   value()->PrintNameTo(stream);
+  stream->Add(" (pop ");
+  parameter_count()->PrintNameTo(stream);
+  stream->Add(" values)");
 }