| Index: src/hydrogen-instructions.cc
|
| diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc
|
| index 59341c032a65042feca41112fba2fc9ef7afa460..40b5afa65facb4504679511cdf758ddde0f7e27f 100644
|
| --- a/src/hydrogen-instructions.cc
|
| +++ b/src/hydrogen-instructions.cc
|
| @@ -840,6 +840,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,
|
| + 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, argument_count, pass_argument_count,
|
| + has_stack_check);
|
| +}
|
| +
|
| +
|
| +
|
| +
|
| void HBinaryCall::PrintDataTo(StringStream* stream) {
|
| first()->PrintNameTo(stream);
|
| stream->Add(" ");
|
| @@ -965,28 +998,15 @@ 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 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(" ");
|
|
|