| Index: src/hydrogen-instructions.cc
|
| diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc
|
| index eb1c5927d28426fa127c1c4c543dc6cde5a5aac0..16100e46091d8a7a95287b10d718bcaf9a6112c0 100644
|
| --- a/src/hydrogen-instructions.cc
|
| +++ b/src/hydrogen-instructions.cc
|
| @@ -290,61 +290,6 @@ void HLoadKeyedGeneric::InternalSetOperandAt(int index, HValue* value) {
|
| }
|
|
|
|
|
| -void HCallKeyed::InternalSetOperandAt(int index, HValue* value) {
|
| - // The key and all the arguments are stored in the base class's arguments_
|
| - // vector. The context is in the object itself. Ugly.
|
| - if (index <= argument_count()) {
|
| - arguments_[index] = value;
|
| - } else {
|
| - context_ = value;
|
| - }
|
| -}
|
| -
|
| -
|
| -void HCallNamed::InternalSetOperandAt(int index, HValue* value) {
|
| - // The arguments are in the base class's arguments_ vector. The context
|
| - // is in the object itself.
|
| - if (index < argument_count()) {
|
| - arguments_[index] = value;
|
| - } else {
|
| - context_ = value;
|
| - }
|
| -}
|
| -
|
| -
|
| -void HCallFunction::InternalSetOperandAt(int index, HValue* value) {
|
| - // The arguments are in the base class's arguments_ vector. The context
|
| - // is in the object itself.
|
| - if (index < argument_count()) {
|
| - arguments_[index] = value;
|
| - } else {
|
| - context_ = value;
|
| - }
|
| -}
|
| -
|
| -
|
| -void HCallGlobal::InternalSetOperandAt(int index, HValue* value) {
|
| - // The arguments are in the base class's arguments_ vector. The context
|
| - // is in the object itself.
|
| - if (index < argument_count()) {
|
| - arguments_[index] = value;
|
| - } else {
|
| - context_ = value;
|
| - }
|
| -}
|
| -
|
| -
|
| -void HCallNew::InternalSetOperandAt(int index, HValue* value) {
|
| - // The arguments are in the base class's arguments_ vector. The context
|
| - // is in the object itself.
|
| - if (index < argument_count()) {
|
| - arguments_[index] = value;
|
| - } else {
|
| - context_ = value;
|
| - }
|
| -}
|
| -
|
| -
|
| void HStoreKeyedGeneric::InternalSetOperandAt(int index, HValue* value) {
|
| if (index < 3) {
|
| operands_[index] = value;
|
| @@ -609,26 +554,64 @@ void HInstruction::Verify() {
|
| #endif
|
|
|
|
|
| -HCall::HCall(int count) : arguments_(Zone::NewArray<HValue*>(count), count) {
|
| - for (int i = 0; i < count; ++i) arguments_[i] = NULL;
|
| - set_representation(Representation::Tagged());
|
| - SetAllSideEffects();
|
| +void HCall::PrintDataTo(StringStream* stream) const {
|
| + stream->Add("#%d", argument_count());
|
| }
|
|
|
|
|
| -void HCall::PrintDataTo(StringStream* stream) const {
|
| - stream->Add("(");
|
| - for (int i = 0; i < arguments_.length(); ++i) {
|
| - if (i != 0) stream->Add(", ");
|
| - arguments_.at(i)->PrintNameTo(stream);
|
| +void HUnaryCall::PrintDataTo(StringStream* stream) const {
|
| + value()->PrintNameTo(stream);
|
| + stream->Add(" ");
|
| + HCall::PrintDataTo(stream);
|
| +}
|
| +
|
| +
|
| +void HBinaryCall::PrintDataTo(StringStream* stream) const {
|
| + first()->PrintNameTo(stream);
|
| + stream->Add(" ");
|
| + second()->PrintNameTo(stream);
|
| + stream->Add(" ");
|
| + HCall::PrintDataTo(stream);
|
| +}
|
| +
|
| +
|
| +void HCallConstantFunction::PrintDataTo(StringStream* stream) const {
|
| + if (IsApplyFunction()) {
|
| + stream->Add("optimized apply ");
|
| + } else {
|
| + stream->Add("%o ", function()->shared()->DebugName());
|
| }
|
| - stream->Add(")");
|
| + HCall::PrintDataTo(stream);
|
| +}
|
| +
|
| +
|
| +void HCallNamed::PrintDataTo(StringStream* stream) const {
|
| + stream->Add("%o ", *name());
|
| + HUnaryCall::PrintDataTo(stream);
|
| +}
|
| +
|
| +
|
| +void HCallGlobal::PrintDataTo(StringStream* stream) const {
|
| + stream->Add("%o ", *name());
|
| + HUnaryCall::PrintDataTo(stream);
|
| +}
|
| +
|
| +
|
| +void HCallKnownGlobal::PrintDataTo(StringStream* stream) const {
|
| + stream->Add("o ", target()->shared()->DebugName());
|
| + HCall::PrintDataTo(stream);
|
| +}
|
| +
|
| +
|
| +void HCallRuntime::PrintDataTo(StringStream* stream) const {
|
| + stream->Add("%o ", *name());
|
| + HCall::PrintDataTo(stream);
|
| }
|
|
|
|
|
| void HClassOfTest::PrintDataTo(StringStream* stream) const {
|
| stream->Add("class_of_test(");
|
| - value()->PrintTo(stream);
|
| + value()->PrintNameTo(stream);
|
| stream->Add(", \"%o\")", *class_name());
|
| }
|
|
|
| @@ -642,22 +625,6 @@ void HAccessArgumentsAt::PrintDataTo(StringStream* stream) const {
|
| }
|
|
|
|
|
| -void HCall::SetArgumentAt(int index, HPushArgument* push_argument) {
|
| - push_argument->set_argument_index(index);
|
| - SetOperandAt(index, push_argument);
|
| -}
|
| -
|
| -
|
| -void HCallConstantFunction::PrintDataTo(StringStream* stream) const {
|
| - if (IsApplyFunction()) {
|
| - stream->Add("SPECIAL function: apply");
|
| - } else {
|
| - stream->Add("%s", *(function()->shared()->DebugName()->ToCString()));
|
| - }
|
| - HCall::PrintDataTo(stream);
|
| -}
|
| -
|
| -
|
| void HControlInstruction::PrintDataTo(StringStream* stream) const {
|
| if (FirstSuccessor() != NULL) {
|
| int first_id = FirstSuccessor()->block_id();
|
| @@ -745,14 +712,6 @@ void HTypeofIs::PrintDataTo(StringStream* stream) const {
|
| }
|
|
|
|
|
| -void HPushArgument::PrintDataTo(StringStream* stream) const {
|
| - HUnaryOperation::PrintDataTo(stream);
|
| - if (argument_index() != -1) {
|
| - stream->Add(" [%d]", argument_index_);
|
| - }
|
| -}
|
| -
|
| -
|
| void HChange::PrintDataTo(StringStream* stream) const {
|
| HUnaryOperation::PrintDataTo(stream);
|
| stream->Add(" %s to %s", from_.Mnemonic(), to_.Mnemonic());
|
| @@ -781,44 +740,10 @@ void HCheckFunction::PrintDataTo(StringStream* stream) const {
|
| }
|
|
|
|
|
| -void HCallKeyed::PrintDataTo(StringStream* stream) const {
|
| - stream->Add("[");
|
| - key()->PrintNameTo(stream);
|
| - stream->Add("](");
|
| - for (int i = 1; i < arguments_.length(); ++i) {
|
| - if (i != 1) stream->Add(", ");
|
| - arguments_.at(i)->PrintNameTo(stream);
|
| - }
|
| - stream->Add(")");
|
| -}
|
| -
|
| -
|
| -void HCallNamed::PrintDataTo(StringStream* stream) const {
|
| - SmartPointer<char> name_string = name()->ToCString();
|
| - stream->Add("%s ", *name_string);
|
| - HCall::PrintDataTo(stream);
|
| -}
|
| -
|
| -
|
| -void HCallGlobal::PrintDataTo(StringStream* stream) const {
|
| - SmartPointer<char> name_string = name()->ToCString();
|
| - stream->Add("%s ", *name_string);
|
| - HCall::PrintDataTo(stream);
|
| -}
|
| -
|
| -
|
| -void HCallRuntime::PrintDataTo(StringStream* stream) const {
|
| - SmartPointer<char> name_string = name()->ToCString();
|
| - stream->Add("%s ", *name_string);
|
| - HCall::PrintDataTo(stream);
|
| -}
|
| -
|
| -
|
| void HCallStub::PrintDataTo(StringStream* stream) const {
|
| - HUnaryOperation::PrintDataTo(stream);
|
| - stream->Add(" %s(%d)",
|
| - CodeStub::MajorName(major_key_, false),
|
| - argument_count_);
|
| + stream->Add("%s ",
|
| + CodeStub::MajorName(major_key_, false));
|
| + HUnaryCall::PrintDataTo(stream);
|
| }
|
|
|
|
|
|
|