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 are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // 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 686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 void instruction##q(P1 p1, P2 p2, P3 p3) { \ | 697 void instruction##q(P1 p1, P2 p2, P3 p3) { \ |
698 emit_##instruction(p1, p2, p3, kInt64Size); \ | 698 emit_##instruction(p1, p2, p3, kInt64Size); \ |
699 } | 699 } |
700 ASSEMBLER_INSTRUCTION_LIST(DECLARE_INSTRUCTION) | 700 ASSEMBLER_INSTRUCTION_LIST(DECLARE_INSTRUCTION) |
701 #undef DECLARE_INSTRUCTION | 701 #undef DECLARE_INSTRUCTION |
702 | 702 |
703 // Insert the smallest number of nop instructions | 703 // Insert the smallest number of nop instructions |
704 // possible to align the pc offset to a multiple | 704 // possible to align the pc offset to a multiple |
705 // of m, where m must be a power of 2. | 705 // of m, where m must be a power of 2. |
706 void Align(int m); | 706 void Align(int m); |
| 707 // Insert the smallest number of zero bytes possible to align the pc offset |
| 708 // to a mulitple of m. m must be a power of 2 (>= 2). |
| 709 void DataAlign(int m); |
707 void Nop(int bytes = 1); | 710 void Nop(int bytes = 1); |
708 // Aligns code to something that's optimal for a jump target for the platform. | 711 // Aligns code to something that's optimal for a jump target for the platform. |
709 void CodeTargetAlign(); | 712 void CodeTargetAlign(); |
710 | 713 |
711 // Stack | 714 // Stack |
712 void pushfq(); | 715 void pushfq(); |
713 void popfq(); | 716 void popfq(); |
714 | 717 |
715 void pushq(Immediate value); | 718 void pushq(Immediate value); |
716 // Push a 32 bit integer, and guarantee that it is actually pushed as a | 719 // Push a 32 bit integer, and guarantee that it is actually pushed as a |
(...skipping 1439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2156 private: | 2159 private: |
2157 Assembler* assembler_; | 2160 Assembler* assembler_; |
2158 #ifdef DEBUG | 2161 #ifdef DEBUG |
2159 int space_before_; | 2162 int space_before_; |
2160 #endif | 2163 #endif |
2161 }; | 2164 }; |
2162 | 2165 |
2163 } } // namespace v8::internal | 2166 } } // namespace v8::internal |
2164 | 2167 |
2165 #endif // V8_X64_ASSEMBLER_X64_H_ | 2168 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |