Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: src/x64/assembler-x64.h

Issue 6390001: Add support for deoptimization on x64. ... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/ia32/deoptimizer-ia32.cc ('k') | src/x64/assembler-x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 // Push a 32 bit integer, and guarantee that it is actually pushed as a
594 // 32 bit value, the normal push will optimize the 8 bit case.
595 void push_imm32(int32_t imm32);
593 void push(Register src); 596 void push(Register src);
594 void push(const Operand& src); 597 void push(const Operand& src);
595 598
596 void pop(Register dst); 599 void pop(Register dst);
597 void pop(const Operand& dst); 600 void pop(const Operand& dst);
598 601
599 void enter(Immediate size); 602 void enter(Immediate size);
600 void leave(); 603 void leave();
601 604
602 // Moves 605 // Moves
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
1115 void jmp(Register adr); 1118 void jmp(Register adr);
1116 1119
1117 // Jump near absolute indirect (m64) 1120 // Jump near absolute indirect (m64)
1118 void jmp(const Operand& src); 1121 void jmp(const Operand& src);
1119 1122
1120 // Short jump 1123 // Short jump
1121 void jmp(NearLabel* L); 1124 void jmp(NearLabel* L);
1122 1125
1123 // Conditional jumps 1126 // Conditional jumps
1124 void j(Condition cc, Label* L); 1127 void j(Condition cc, Label* L);
1128 void j(Condition cc, byte* entry, RelocInfo::Mode rmode);
1125 void j(Condition cc, Handle<Code> target, RelocInfo::Mode rmode); 1129 void j(Condition cc, Handle<Code> target, RelocInfo::Mode rmode);
1126 1130
1127 // Conditional short jump 1131 // Conditional short jump
1128 void j(Condition cc, NearLabel* L, Hint hint = no_hint); 1132 void j(Condition cc, NearLabel* L, Hint hint = no_hint);
1129 1133
1130 // Floating-point operations 1134 // Floating-point operations
1131 void fld(int i); 1135 void fld(int i);
1132 1136
1133 void fld1(); 1137 void fld1();
1134 void fldz(); 1138 void fldz();
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 private: 1526 private:
1523 Assembler* assembler_; 1527 Assembler* assembler_;
1524 #ifdef DEBUG 1528 #ifdef DEBUG
1525 int space_before_; 1529 int space_before_;
1526 #endif 1530 #endif
1527 }; 1531 };
1528 1532
1529 } } // namespace v8::internal 1533 } } // namespace v8::internal
1530 1534
1531 #endif // V8_X64_ASSEMBLER_X64_H_ 1535 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/ia32/deoptimizer-ia32.cc ('k') | src/x64/assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698