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 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
600 // is: should we always use Operands instead of Registers where an | 600 // is: should we always use Operands instead of Registers where an |
601 // Operand is possible, or should we have a Register (overloaded) form | 601 // Operand is possible, or should we have a Register (overloaded) form |
602 // instead? We must be careful to make sure that the selected instruction | 602 // instead? We must be careful to make sure that the selected instruction |
603 // is obvious from the parameters to avoid hard-to-find code generation | 603 // is obvious from the parameters to avoid hard-to-find code generation |
604 // bugs. | 604 // bugs. |
605 | 605 |
606 // Insert the smallest number of nop instructions | 606 // Insert the smallest number of nop instructions |
607 // possible to align the pc offset to a multiple | 607 // possible to align the pc offset to a multiple |
608 // of m. m must be a power of 2. | 608 // of m. m must be a power of 2. |
609 void Align(int m); | 609 void Align(int m); |
| 610 // Insert the smallest number of zero bytes possible to align the pc offset |
| 611 // to a mulitple of m. m must be a power of 2 (>= 2). |
| 612 void DataAlign(int m); |
610 void Nop(int bytes = 1); | 613 void Nop(int bytes = 1); |
611 // Aligns code to something that's optimal for a jump target for the platform. | 614 // Aligns code to something that's optimal for a jump target for the platform. |
612 void CodeTargetAlign(); | 615 void CodeTargetAlign(); |
613 | 616 |
614 // Stack | 617 // Stack |
615 void pushad(); | 618 void pushad(); |
616 void popad(); | 619 void popad(); |
617 | 620 |
618 void pushfd(); | 621 void pushfd(); |
619 void popfd(); | 622 void popfd(); |
(...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1599 private: | 1602 private: |
1600 Assembler* assembler_; | 1603 Assembler* assembler_; |
1601 #ifdef DEBUG | 1604 #ifdef DEBUG |
1602 int space_before_; | 1605 int space_before_; |
1603 #endif | 1606 #endif |
1604 }; | 1607 }; |
1605 | 1608 |
1606 } } // namespace v8::internal | 1609 } } // namespace v8::internal |
1607 | 1610 |
1608 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1611 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |