| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index 38e7480d3df87c3222972c67dbb26ae1f590eb06..f576e37e4f6a888e6f41585164a49843fea12176 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -196,22 +196,22 @@ void LGoto::PrintDataTo(StringStream* stream) {
|
|
|
| void LBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("B%d | B%d on ", true_block_id(), false_block_id());
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| }
|
|
|
|
|
| void LCmpIDAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if ");
|
| - left()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(" %s ", Token::String(op()));
|
| - right()->PrintTo(stream);
|
| + InputAt(1)->PrintTo(stream);
|
| stream->Add(" then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LIsNilAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if ");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(kind() == kStrictEquality ? " === " : " == ");
|
| stream->Add(nil() == kNullValue ? "null" : "undefined");
|
| stream->Add(" then B%d else B%d", true_block_id(), false_block_id());
|
| @@ -220,57 +220,57 @@ void LIsNilAndBranch::PrintDataTo(StringStream* stream) {
|
|
|
| void LIsObjectAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if is_object(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LIsStringAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if is_string(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LIsSmiAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if is_smi(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LIsUndetectableAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if is_undetectable(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LStringCompareAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if string_compare(");
|
| - left()->PrintTo(stream);
|
| - right()->PrintTo(stream);
|
| + InputAt(1)->PrintTo(stream);
|
| + InputAt(2)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LHasInstanceTypeAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if has_instance_type(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LHasCachedArrayIndexAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if has_cached_array_index(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| }
|
|
|
|
|
| void LClassOfTestAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if class_of_test(");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(", \"%o\") then B%d else B%d",
|
| *hydrogen()->class_name(),
|
| true_block_id(),
|
| @@ -280,7 +280,7 @@ void LClassOfTestAndBranch::PrintDataTo(StringStream* stream) {
|
|
|
| void LTypeofIsAndBranch::PrintDataTo(StringStream* stream) {
|
| stream->Add("if typeof ");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(" == \"%s\" then B%d else B%d",
|
| *hydrogen()->type_literal()->ToCString(),
|
| true_block_id(), false_block_id());
|
| @@ -294,34 +294,34 @@ void LCallConstantFunction::PrintDataTo(StringStream* stream) {
|
|
|
| void LUnaryMathOperation::PrintDataTo(StringStream* stream) {
|
| stream->Add("/%s ", hydrogen()->OpName());
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| }
|
|
|
|
|
| void LMathPowHalf::PrintDataTo(StringStream* stream) {
|
| stream->Add("/pow_half ");
|
| - value()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| }
|
|
|
|
|
| void LLoadContextSlot::PrintDataTo(StringStream* stream) {
|
| - context()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add("[%d]", slot_index());
|
| }
|
|
|
|
|
| void LStoreContextSlot::PrintDataTo(StringStream* stream) {
|
| - context()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add("[%d] <- ", slot_index());
|
| - value()->PrintTo(stream);
|
| + InputAt(1)->PrintTo(stream);
|
| }
|
|
|
|
|
| void LInvokeFunction::PrintDataTo(StringStream* stream) {
|
| stream->Add("= ");
|
| - context()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(" ");
|
| - function()->PrintTo(stream);
|
| + InputAt(1)->PrintTo(stream);
|
| stream->Add(" #%d / ", arity());
|
| }
|
|
|
| @@ -350,9 +350,7 @@ void LCallKnownGlobal::PrintDataTo(StringStream* stream) {
|
|
|
| void LCallNew::PrintDataTo(StringStream* stream) {
|
| stream->Add("= ");
|
| - context()->PrintTo(stream);
|
| - stream->Add(" ");
|
| - constructor()->PrintTo(stream);
|
| + InputAt(0)->PrintTo(stream);
|
| stream->Add(" #%d / ", arity());
|
| }
|
|
|
| @@ -888,7 +886,6 @@ LEnvironment* LChunkBuilder::CreateEnvironment(
|
| argument_count_,
|
| value_count,
|
| outer,
|
| - hydrogen_env->entry(),
|
| zone());
|
| int argument_index = *argument_index_accumulator;
|
| for (int i = 0; i < value_count; ++i) {
|
| @@ -2238,7 +2235,6 @@ LInstruction* LChunkBuilder::DoDeleteProperty(HDeleteProperty* instr) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoOsrEntry(HOsrEntry* instr) {
|
| - ASSERT(argument_count_ == 0);
|
| allocator_->MarkAsOsrEntry();
|
| current_block_->last_environment()->set_ast_id(instr->ast_id());
|
| return AssignEnvironment(new(zone()) LOsrEntry);
|
| @@ -2374,7 +2370,6 @@ LInstruction* LChunkBuilder::DoEnterInlined(HEnterInlined* instr) {
|
| if (instr->arguments_var() != NULL) {
|
| inner->Bind(instr->arguments_var(), graph()->GetArgumentsObject());
|
| }
|
| - inner->set_entry(instr);
|
| current_block_->UpdateEnvironment(inner);
|
| chunk_->AddInlinedClosure(instr->closure());
|
| return NULL;
|
| @@ -2386,7 +2381,7 @@ LInstruction* LChunkBuilder::DoLeaveInlined(HLeaveInlined* instr) {
|
|
|
| HEnvironment* env = current_block_->last_environment();
|
|
|
| - if (env->entry()->arguments_pushed()) {
|
| + if (instr->arguments_pushed()) {
|
| int argument_count = env->arguments_environment()->parameter_count();
|
| pop = new(zone()) LDrop(argument_count);
|
| argument_count_ -= argument_count;
|
|
|