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 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
583 // of m. m must be a power of 2. | 583 // of m. m must be a power of 2. |
584 void Align(int m); | 584 void Align(int m); |
585 // Aligns code to something that's optimal for a jump target for the platform. | 585 // Aligns code to something that's optimal for a jump target for the platform. |
586 void CodeTargetAlign(); | 586 void CodeTargetAlign(); |
587 | 587 |
588 // Stack | 588 // Stack |
589 void pushfq(); | 589 void pushfq(); |
590 void popfq(); | 590 void popfq(); |
591 | 591 |
592 void push(Immediate value); | 592 void push(Immediate value); |
593 void push_imm32(int32_t imm32); | |
Lasse Reichstein
2011/01/24 13:24:21
Add a comment stating why it's necessary to have t
Rico
2011/01/24 13:40:14
Done.
| |
593 void push(Register src); | 594 void push(Register src); |
594 void push(const Operand& src); | 595 void push(const Operand& src); |
595 | 596 |
596 void pop(Register dst); | 597 void pop(Register dst); |
597 void pop(const Operand& dst); | 598 void pop(const Operand& dst); |
598 | 599 |
599 void enter(Immediate size); | 600 void enter(Immediate size); |
600 void leave(); | 601 void leave(); |
601 | 602 |
602 // Moves | 603 // Moves |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1115 void jmp(Register adr); | 1116 void jmp(Register adr); |
1116 | 1117 |
1117 // Jump near absolute indirect (m64) | 1118 // Jump near absolute indirect (m64) |
1118 void jmp(const Operand& src); | 1119 void jmp(const Operand& src); |
1119 | 1120 |
1120 // Short jump | 1121 // Short jump |
1121 void jmp(NearLabel* L); | 1122 void jmp(NearLabel* L); |
1122 | 1123 |
1123 // Conditional jumps | 1124 // Conditional jumps |
1124 void j(Condition cc, Label* L); | 1125 void j(Condition cc, Label* L); |
1126 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint= no_hint); | |
Lasse Reichstein
2011/01/24 13:24:21
We don't use hints in the X64 assembler.
Rico
2011/01/24 13:40:14
Done.
| |
1125 void j(Condition cc, Handle<Code> target, RelocInfo::Mode rmode); | 1127 void j(Condition cc, Handle<Code> target, RelocInfo::Mode rmode); |
1126 | 1128 |
1127 // Conditional short jump | 1129 // Conditional short jump |
1128 void j(Condition cc, NearLabel* L, Hint hint = no_hint); | 1130 void j(Condition cc, NearLabel* L, Hint hint = no_hint); |
1129 | 1131 |
1130 // Floating-point operations | 1132 // Floating-point operations |
1131 void fld(int i); | 1133 void fld(int i); |
1132 | 1134 |
1133 void fld1(); | 1135 void fld1(); |
1134 void fldz(); | 1136 void fldz(); |
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1522 private: | 1524 private: |
1523 Assembler* assembler_; | 1525 Assembler* assembler_; |
1524 #ifdef DEBUG | 1526 #ifdef DEBUG |
1525 int space_before_; | 1527 int space_before_; |
1526 #endif | 1528 #endif |
1527 }; | 1529 }; |
1528 | 1530 |
1529 } } // namespace v8::internal | 1531 } } // namespace v8::internal |
1530 | 1532 |
1531 #endif // V8_X64_ASSEMBLER_X64_H_ | 1533 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |