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 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 // is: should we always use Operands instead of Registers where an | 500 // is: should we always use Operands instead of Registers where an |
501 // Operand is possible, or should we have a Register (overloaded) form | 501 // Operand is possible, or should we have a Register (overloaded) form |
502 // instead? We must be careful to make sure that the selected instruction | 502 // instead? We must be careful to make sure that the selected instruction |
503 // is obvious from the parameters to avoid hard-to-find code generation | 503 // is obvious from the parameters to avoid hard-to-find code generation |
504 // bugs. | 504 // bugs. |
505 | 505 |
506 // Insert the smallest number of nop instructions | 506 // Insert the smallest number of nop instructions |
507 // possible to align the pc offset to a multiple | 507 // possible to align the pc offset to a multiple |
508 // of m. m must be a power of 2. | 508 // of m. m must be a power of 2. |
509 void Align(int m); | 509 void Align(int m); |
| 510 // Aligns code to something that's optimal for a jump target for the platform. |
| 511 void CodeTargetAlign(); |
510 | 512 |
511 // Stack | 513 // Stack |
512 void pushad(); | 514 void pushad(); |
513 void popad(); | 515 void popad(); |
514 | 516 |
515 void pushfd(); | 517 void pushfd(); |
516 void popfd(); | 518 void popfd(); |
517 | 519 |
518 void push(const Immediate& x); | 520 void push(const Immediate& x); |
519 void push(Register src); | 521 void push(Register src); |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
958 private: | 960 private: |
959 Assembler* assembler_; | 961 Assembler* assembler_; |
960 #ifdef DEBUG | 962 #ifdef DEBUG |
961 int space_before_; | 963 int space_before_; |
962 #endif | 964 #endif |
963 }; | 965 }; |
964 | 966 |
965 } } // namespace v8::internal | 967 } } // namespace v8::internal |
966 | 968 |
967 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 969 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |