| Index: src/hydrogen-instructions.cc
|
| diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc
|
| index 6e1739716a14f877e5d1c109b1e0de2de42f651a..02f88b3498a539fa4fa5d557e0e9b0af867d42a8 100644
|
| --- a/src/hydrogen-instructions.cc
|
| +++ b/src/hydrogen-instructions.cc
|
| @@ -849,6 +849,39 @@ void HUnaryCall::PrintDataTo(StringStream* stream) {
|
| }
|
|
|
|
|
| +void HCallJSFunction::PrintDataTo(StringStream* stream) {
|
| + OperandAt(0)->PrintNameTo(stream);
|
| + stream->Add(" ");
|
| + OperandAt(1)->PrintNameTo(stream);
|
| + stream->Add(" ");
|
| + stream->Add("#%d", argument_count());
|
| +}
|
| +
|
| +
|
| +HCallJSFunction* HCallJSFunction::New(Zone* zone,
|
| + HValue* context,
|
| + HValue* function,
|
| + HValue* call_kind_value,
|
| + int argument_count,
|
| + bool pass_argument_count) {
|
| + bool has_stack_check = false;
|
| + if (function->IsConstant()) {
|
| + HConstant* fun_const = HConstant::cast(function);
|
| + Handle<JSFunction> jsfun =
|
| + Handle<JSFunction>::cast(fun_const->handle(zone->isolate()));
|
| + has_stack_check = !jsfun.is_null() &&
|
| + (jsfun->code()->kind() == Code::FUNCTION ||
|
| + jsfun->code()->kind() == Code::OPTIMIZED_FUNCTION);
|
| + }
|
| +
|
| + return new(zone) HCallJSFunction(
|
| + function, call_kind_value, argument_count, pass_argument_count,
|
| + has_stack_check);
|
| +}
|
| +
|
| +
|
| +
|
| +
|
| void HBinaryCall::PrintDataTo(StringStream* stream) {
|
| first()->PrintNameTo(stream);
|
| stream->Add(" ");
|
| @@ -974,34 +1007,21 @@ void HBoundsCheckBaseIndexInformation::PrintDataTo(StringStream* stream) {
|
| }
|
|
|
|
|
| -void HCallConstantFunction::PrintDataTo(StringStream* stream) {
|
| - if (IsApplyFunction()) {
|
| - stream->Add("optimized apply ");
|
| - } else {
|
| - stream->Add("%o ", function()->shared()->DebugName());
|
| +void HCallWithDescriptor::PrintDataTo(StringStream* stream) {
|
| + for (int i = 0; i < OperandCount(); i++) {
|
| + OperandAt(i)->PrintNameTo(stream);
|
| + stream->Add(" ");
|
| }
|
| stream->Add("#%d", argument_count());
|
| }
|
|
|
|
|
| -void HCallNamed::PrintDataTo(StringStream* stream) {
|
| - stream->Add("%o ", *name());
|
| - HUnaryCall::PrintDataTo(stream);
|
| -}
|
| -
|
| -
|
| void HCallGlobal::PrintDataTo(StringStream* stream) {
|
| stream->Add("%o ", *name());
|
| HUnaryCall::PrintDataTo(stream);
|
| }
|
|
|
|
|
| -void HCallKnownGlobal::PrintDataTo(StringStream* stream) {
|
| - stream->Add("%o ", target()->shared()->DebugName());
|
| - stream->Add("#%d", argument_count());
|
| -}
|
| -
|
| -
|
| void HCallNewArray::PrintDataTo(StringStream* stream) {
|
| stream->Add(ElementsKindToString(elements_kind()));
|
| stream->Add(" ");
|
|
|