| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 732 | 732 |
| 733 | 733 |
| 734 void LCodeGen::DoLabel(LLabel* label) { | 734 void LCodeGen::DoLabel(LLabel* label) { |
| 735 if (label->is_loop_header()) { | 735 if (label->is_loop_header()) { |
| 736 Comment(";;; B%d - LOOP entry", label->block_id()); | 736 Comment(";;; B%d - LOOP entry", label->block_id()); |
| 737 } else { | 737 } else { |
| 738 Comment(";;; B%d", label->block_id()); | 738 Comment(";;; B%d", label->block_id()); |
| 739 } | 739 } |
| 740 __ bind(label->label()); | 740 __ bind(label->label()); |
| 741 current_block_ = label->block_id(); | 741 current_block_ = label->block_id(); |
| 742 LCodeGen::DoGap(label); | 742 DoGap(label); |
| 743 } | 743 } |
| 744 | 744 |
| 745 | 745 |
| 746 void LCodeGen::DoParallelMove(LParallelMove* move) { | 746 void LCodeGen::DoParallelMove(LParallelMove* move) { |
| 747 resolver_.Resolve(move); | 747 resolver_.Resolve(move); |
| 748 } | 748 } |
| 749 | 749 |
| 750 | 750 |
| 751 void LCodeGen::DoGap(LGap* gap) { | 751 void LCodeGen::DoGap(LGap* gap) { |
| 752 for (int i = LGap::FIRST_INNER_POSITION; | 752 for (int i = LGap::FIRST_INNER_POSITION; |
| 753 i <= LGap::LAST_INNER_POSITION; | 753 i <= LGap::LAST_INNER_POSITION; |
| 754 i++) { | 754 i++) { |
| 755 LGap::InnerPosition inner_pos = static_cast<LGap::InnerPosition>(i); | 755 LGap::InnerPosition inner_pos = static_cast<LGap::InnerPosition>(i); |
| 756 LParallelMove* move = gap->GetParallelMove(inner_pos); | 756 LParallelMove* move = gap->GetParallelMove(inner_pos); |
| 757 if (move != NULL) DoParallelMove(move); | 757 if (move != NULL) DoParallelMove(move); |
| 758 } | 758 } |
| 759 | 759 |
| 760 LInstruction* next = GetNextInstruction(); | 760 LInstruction* next = GetNextInstruction(); |
| 761 if (next != NULL && next->IsLazyBailout()) { | 761 if (next != NULL && next->IsLazyBailout()) { |
| 762 int pc = masm()->pc_offset(); | 762 int pc = masm()->pc_offset(); |
| 763 safepoints_.SetPcAfterGap(pc); | 763 safepoints_.SetPcAfterGap(pc); |
| 764 } | 764 } |
| 765 } | 765 } |
| 766 | 766 |
| 767 | 767 |
| 768 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { |
| 769 DoGap(instr); |
| 770 } |
| 771 |
| 772 |
| 768 void LCodeGen::DoParameter(LParameter* instr) { | 773 void LCodeGen::DoParameter(LParameter* instr) { |
| 769 // Nothing to do. | 774 // Nothing to do. |
| 770 } | 775 } |
| 771 | 776 |
| 772 | 777 |
| 773 void LCodeGen::DoCallStub(LCallStub* instr) { | 778 void LCodeGen::DoCallStub(LCallStub* instr) { |
| 774 ASSERT(ToRegister(instr->result()).is(r0)); | 779 ASSERT(ToRegister(instr->result()).is(r0)); |
| 775 switch (instr->hydrogen()->major_key()) { | 780 switch (instr->hydrogen()->major_key()) { |
| 776 case CodeStub::RegExpConstructResult: { | 781 case CodeStub::RegExpConstructResult: { |
| 777 RegExpConstructResultStub stub; | 782 RegExpConstructResultStub stub; |
| (...skipping 3504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4282 ASSERT(!environment->HasBeenRegistered()); | 4287 ASSERT(!environment->HasBeenRegistered()); |
| 4283 RegisterEnvironmentForDeoptimization(environment); | 4288 RegisterEnvironmentForDeoptimization(environment); |
| 4284 ASSERT(osr_pc_offset_ == -1); | 4289 ASSERT(osr_pc_offset_ == -1); |
| 4285 osr_pc_offset_ = masm()->pc_offset(); | 4290 osr_pc_offset_ = masm()->pc_offset(); |
| 4286 } | 4291 } |
| 4287 | 4292 |
| 4288 | 4293 |
| 4289 #undef __ | 4294 #undef __ |
| 4290 | 4295 |
| 4291 } } // namespace v8::internal | 4296 } } // namespace v8::internal |
| OLD | NEW |