OLD | NEW |
---|---|
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
830 } else if (cur_input->policy() == LUnallocated::WRITABLE_REGISTER) { | 830 } else if (cur_input->policy() == LUnallocated::WRITABLE_REGISTER) { |
831 LUnallocated* input_copy = cur_input->CopyUnconstrained(); | 831 LUnallocated* input_copy = cur_input->CopyUnconstrained(); |
832 cur_input->set_virtual_register(next_virtual_register_++); | 832 cur_input->set_virtual_register(next_virtual_register_++); |
833 | 833 |
834 if (RequiredRegisterKind(input_copy->virtual_register()) == | 834 if (RequiredRegisterKind(input_copy->virtual_register()) == |
835 DOUBLE_REGISTERS) { | 835 DOUBLE_REGISTERS) { |
836 double_artificial_registers_.Add( | 836 double_artificial_registers_.Add( |
837 cur_input->virtual_register() - first_artificial_register_); | 837 cur_input->virtual_register() - first_artificial_register_); |
838 } | 838 } |
839 | 839 |
840 second->AddTemp(cur_input); | |
Vyacheslav Egorov (Chromium)
2011/01/17 09:54:50
Add assert that cur_input is used at end, not at s
| |
841 AddConstraintsGapMove(gap_index, input_copy, cur_input); | 840 AddConstraintsGapMove(gap_index, input_copy, cur_input); |
842 } | 841 } |
843 } | 842 } |
844 } | 843 } |
845 | 844 |
846 // Handle "output same as input" for second instruction. | 845 // Handle "output same as input" for second instruction. |
847 if (second != NULL && second->Output() != NULL) { | 846 if (second != NULL && second->Output() != NULL) { |
848 LUnallocated* second_output = LUnallocated::cast(second->Output()); | 847 LUnallocated* second_output = LUnallocated::cast(second->Output()); |
849 if (second_output->HasSameAsInputPolicy()) { | 848 if (second_output->HasSameAsInputPolicy()) { |
850 LUnallocated* cur_input = LUnallocated::cast(second->InputAt(0)); | 849 LUnallocated* cur_input = LUnallocated::cast(second->InputAt(0)); |
(...skipping 1294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2145 LiveRange* current = live_ranges()->at(i); | 2144 LiveRange* current = live_ranges()->at(i); |
2146 if (current != NULL) current->Verify(); | 2145 if (current != NULL) current->Verify(); |
2147 } | 2146 } |
2148 } | 2147 } |
2149 | 2148 |
2150 | 2149 |
2151 #endif | 2150 #endif |
2152 | 2151 |
2153 | 2152 |
2154 } } // namespace v8::internal | 2153 } } // namespace v8::internal |
OLD | NEW |