OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 } | 793 } |
794 | 794 |
795 | 795 |
796 // Branch instructions. | 796 // Branch instructions. |
797 void Assembler::b(int branch_offset, Condition cond) { | 797 void Assembler::b(int branch_offset, Condition cond) { |
798 ASSERT((branch_offset & 3) == 0); | 798 ASSERT((branch_offset & 3) == 0); |
799 int imm24 = branch_offset >> 2; | 799 int imm24 = branch_offset >> 2; |
800 ASSERT(is_int24(imm24)); | 800 ASSERT(is_int24(imm24)); |
801 emit(cond | B27 | B25 | (imm24 & Imm24Mask)); | 801 emit(cond | B27 | B25 | (imm24 & Imm24Mask)); |
802 | 802 |
803 if (cond == al) | 803 if (cond == al) { |
804 // Dead code is a good location to emit the constant pool. | 804 // Dead code is a good location to emit the constant pool. |
805 CheckConstPool(false, false); | 805 CheckConstPool(false, false); |
| 806 } |
806 } | 807 } |
807 | 808 |
808 | 809 |
809 void Assembler::bl(int branch_offset, Condition cond) { | 810 void Assembler::bl(int branch_offset, Condition cond) { |
810 ASSERT((branch_offset & 3) == 0); | 811 ASSERT((branch_offset & 3) == 0); |
811 int imm24 = branch_offset >> 2; | 812 int imm24 = branch_offset >> 2; |
812 ASSERT(is_int24(imm24)); | 813 ASSERT(is_int24(imm24)); |
813 emit(cond | B27 | B25 | B24 | (imm24 & Imm24Mask)); | 814 emit(cond | B27 | B25 | B24 | (imm24 & Imm24Mask)); |
814 } | 815 } |
815 | 816 |
(...skipping 1209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2025 bind(&after_pool); | 2026 bind(&after_pool); |
2026 } | 2027 } |
2027 | 2028 |
2028 // Since a constant pool was just emitted, move the check offset forward by | 2029 // Since a constant pool was just emitted, move the check offset forward by |
2029 // the standard interval. | 2030 // the standard interval. |
2030 next_buffer_check_ = pc_offset() + kCheckConstInterval; | 2031 next_buffer_check_ = pc_offset() + kCheckConstInterval; |
2031 } | 2032 } |
2032 | 2033 |
2033 | 2034 |
2034 } } // namespace v8::internal | 2035 } } // namespace v8::internal |
OLD | NEW |