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 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 static const int kDebugBreakSlotLength = | 690 static const int kDebugBreakSlotLength = |
691 kDebugBreakSlotInstructions * kInstrSize; | 691 kDebugBreakSlotInstructions * kInstrSize; |
692 | 692 |
693 // --------------------------------------------------------------------------- | 693 // --------------------------------------------------------------------------- |
694 // Code generation | 694 // Code generation |
695 | 695 |
696 // Insert the smallest number of nop instructions | 696 // Insert the smallest number of nop instructions |
697 // possible to align the pc offset to a multiple | 697 // possible to align the pc offset to a multiple |
698 // of m. m must be a power of 2 (>= 4). | 698 // of m. m must be a power of 2 (>= 4). |
699 void Align(int m); | 699 void Align(int m); |
| 700 // Aligns code to something that's optimal for a jump target for the platform. |
| 701 void CodeTargetAlign(); |
700 | 702 |
701 // Branch instructions | 703 // Branch instructions |
702 void b(int branch_offset, Condition cond = al); | 704 void b(int branch_offset, Condition cond = al); |
703 void bl(int branch_offset, Condition cond = al); | 705 void bl(int branch_offset, Condition cond = al); |
704 void blx(int branch_offset); // v5 and above | 706 void blx(int branch_offset); // v5 and above |
705 void blx(Register target, Condition cond = al); // v5 and above | 707 void blx(Register target, Condition cond = al); // v5 and above |
706 void bx(Register target, Condition cond = al); // v5 and above, plus v4t | 708 void bx(Register target, Condition cond = al); // v5 and above, plus v4t |
707 | 709 |
708 // Convenience branch instructions using labels | 710 // Convenience branch instructions using labels |
709 void b(Label* L, Condition cond = al) { | 711 void b(Label* L, Condition cond = al) { |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1198 | 1200 |
1199 friend class RegExpMacroAssemblerARM; | 1201 friend class RegExpMacroAssemblerARM; |
1200 friend class RelocInfo; | 1202 friend class RelocInfo; |
1201 friend class CodePatcher; | 1203 friend class CodePatcher; |
1202 friend class BlockConstPoolScope; | 1204 friend class BlockConstPoolScope; |
1203 }; | 1205 }; |
1204 | 1206 |
1205 } } // namespace v8::internal | 1207 } } // namespace v8::internal |
1206 | 1208 |
1207 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1209 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |