| Index: src/lithium-allocator.cc
|
| ===================================================================
|
| --- src/lithium-allocator.cc (revision 10549)
|
| +++ src/lithium-allocator.cc (working copy)
|
| @@ -697,7 +697,7 @@
|
|
|
| HPhi* LAllocator::LookupPhi(LOperand* operand) const {
|
| if (!operand->IsUnallocated()) return NULL;
|
| - int index = operand->VirtualRegister();
|
| + int index = LUnallocated::cast(operand)->virtual_register();
|
| HValue* instr = graph_->LookupValue(index);
|
| if (instr != NULL && instr->IsPhi()) {
|
| return HPhi::cast(instr);
|
| @@ -765,7 +765,8 @@
|
| LMoveOperands cur = move_operands->at(i);
|
| LOperand* cur_to = cur.destination();
|
| if (cur_to->IsUnallocated()) {
|
| - if (cur_to->VirtualRegister() == from->VirtualRegister()) {
|
| + if (LUnallocated::cast(cur_to)->virtual_register() ==
|
| + LUnallocated::cast(from)->virtual_register()) {
|
| move->AddMove(cur.source(), to);
|
| return;
|
| }
|
| @@ -807,11 +808,11 @@
|
| // Handle fixed output operand.
|
| if (first != NULL && first->Output() != NULL) {
|
| LUnallocated* first_output = LUnallocated::cast(first->Output());
|
| - LiveRange* range = LiveRangeFor(first_output->VirtualRegister());
|
| + LiveRange* range = LiveRangeFor(first_output->virtual_register());
|
| bool assigned = false;
|
| if (first_output->HasFixedPolicy()) {
|
| LUnallocated* output_copy = first_output->CopyUnconstrained();
|
| - bool is_tagged = HasTaggedValue(first_output->VirtualRegister());
|
| + bool is_tagged = HasTaggedValue(first_output->virtual_register());
|
| AllocateFixed(first_output, gap_index, is_tagged);
|
|
|
| // This value is produced on the stack, we never need to spill it.
|
| @@ -842,7 +843,7 @@
|
| LUnallocated* cur_input = LUnallocated::cast(it.Current());
|
| if (cur_input->HasFixedPolicy()) {
|
| LUnallocated* input_copy = cur_input->CopyUnconstrained();
|
| - bool is_tagged = HasTaggedValue(cur_input->VirtualRegister());
|
| + bool is_tagged = HasTaggedValue(cur_input->virtual_register());
|
| AllocateFixed(cur_input, gap_index + 1, is_tagged);
|
| AddConstraintsGapMove(gap_index, input_copy, cur_input);
|
| } else if (cur_input->policy() == LUnallocated::WRITABLE_REGISTER) {
|
| @@ -869,8 +870,8 @@
|
| LUnallocated* second_output = LUnallocated::cast(second->Output());
|
| if (second_output->HasSameAsInputPolicy()) {
|
| LUnallocated* cur_input = LUnallocated::cast(second->FirstInput());
|
| - int output_vreg = second_output->VirtualRegister();
|
| - int input_vreg = cur_input->VirtualRegister();
|
| + int output_vreg = second_output->virtual_register();
|
| + int input_vreg = cur_input->virtual_register();
|
|
|
| LUnallocated* input_copy = cur_input->CopyUnconstrained();
|
| cur_input->set_virtual_register(second_output->virtual_register());
|
| @@ -925,9 +926,9 @@
|
| }
|
| } else {
|
| if (to->IsUnallocated()) {
|
| - if (live->Contains(to->VirtualRegister())) {
|
| + if (live->Contains(LUnallocated::cast(to)->virtual_register())) {
|
| Define(curr_position, to, from);
|
| - live->Remove(to->VirtualRegister());
|
| + live->Remove(LUnallocated::cast(to)->virtual_register());
|
| } else {
|
| cur->Eliminate();
|
| continue;
|
| @@ -938,7 +939,7 @@
|
| }
|
| Use(block_start_position, curr_position, from, hint);
|
| if (from->IsUnallocated()) {
|
| - live->Add(from->VirtualRegister());
|
| + live->Add(LUnallocated::cast(from)->virtual_register());
|
| }
|
| }
|
| } else {
|
| @@ -948,7 +949,9 @@
|
| if (instr != NULL) {
|
| LOperand* output = instr->Output();
|
| if (output != NULL) {
|
| - if (output->IsUnallocated()) live->Remove(output->VirtualRegister());
|
| + if (output->IsUnallocated()) {
|
| + live->Remove(LUnallocated::cast(output)->virtual_register());
|
| + }
|
| Define(curr_position, output, NULL);
|
| }
|
|
|
| @@ -986,7 +989,9 @@
|
| }
|
|
|
| Use(block_start_position, use_pos, input, NULL);
|
| - if (input->IsUnallocated()) live->Add(input->VirtualRegister());
|
| + if (input->IsUnallocated()) {
|
| + live->Add(LUnallocated::cast(input)->virtual_register());
|
| + }
|
| }
|
|
|
| for (TempIterator it(instr); !it.Done(); it.Advance()) {
|
| @@ -1270,7 +1275,8 @@
|
| LParallelMove* move = gap->GetOrCreateParallelMove(LGap::START);
|
| for (int j = 0; j < move->move_operands()->length(); ++j) {
|
| LOperand* to = move->move_operands()->at(j).destination();
|
| - if (to->IsUnallocated() && to->VirtualRegister() == phi->id()) {
|
| + if (to->IsUnallocated() &&
|
| + LUnallocated::cast(to)->virtual_register() == phi->id()) {
|
| hint = move->move_operands()->at(j).source();
|
| phi_operand = to;
|
| break;
|
|
|