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

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

Issue 660095: Merge revision 3813 to 3930 from bleeding_edge to partial snapshots branch. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/partial_snapshots/
Patch Set: '' Created 10 years, 10 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/heap.cc ('k') | src/ia32/assembler-ia32.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 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // ----------------------------------------------------------------------------- 224 // -----------------------------------------------------------------------------
225 // Machine instruction Operands 225 // Machine instruction Operands
226 226
227 enum ScaleFactor { 227 enum ScaleFactor {
228 times_1 = 0, 228 times_1 = 0,
229 times_2 = 1, 229 times_2 = 1,
230 times_4 = 2, 230 times_4 = 2,
231 times_8 = 3, 231 times_8 = 3,
232 times_int_size = times_4, 232 times_int_size = times_4,
233 times_half_pointer_size = times_2, 233 times_half_pointer_size = times_2,
234 times_pointer_size = times_4 234 times_pointer_size = times_4,
235 times_twice_pointer_size = times_8
235 }; 236 };
236 237
237 238
238 class Operand BASE_EMBEDDED { 239 class Operand BASE_EMBEDDED {
239 public: 240 public:
240 // reg 241 // reg
241 INLINE(explicit Operand(Register reg)); 242 INLINE(explicit Operand(Register reg));
242 243
243 // [disp/r] 244 // [disp/r]
244 INLINE(explicit Operand(int32_t disp, RelocInfo::Mode rmode)); 245 INLINE(explicit Operand(int32_t disp, RelocInfo::Mode rmode));
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 // 661 //
661 // Note: The same Label can be used for forward and backward branches 662 // Note: The same Label can be used for forward and backward branches
662 // but it may be bound only once. 663 // but it may be bound only once.
663 664
664 void bind(Label* L); // binds an unbound label L to the current code position 665 void bind(Label* L); // binds an unbound label L to the current code position
665 666
666 // Calls 667 // Calls
667 void call(Label* L); 668 void call(Label* L);
668 void call(byte* entry, RelocInfo::Mode rmode); 669 void call(byte* entry, RelocInfo::Mode rmode);
669 void call(const Operand& adr); 670 void call(const Operand& adr);
671 void call(const ExternalReference& target);
670 void call(Handle<Code> code, RelocInfo::Mode rmode); 672 void call(Handle<Code> code, RelocInfo::Mode rmode);
671 673
672 // Jumps 674 // Jumps
673 void jmp(Label* L); // unconditional jump to L 675 void jmp(Label* L); // unconditional jump to L
674 void jmp(byte* entry, RelocInfo::Mode rmode); 676 void jmp(byte* entry, RelocInfo::Mode rmode);
675 void jmp(const Operand& adr); 677 void jmp(const Operand& adr);
676 void jmp(Handle<Code> code, RelocInfo::Mode rmode); 678 void jmp(Handle<Code> code, RelocInfo::Mode rmode);
677 679
678 // Conditional jumps 680 // Conditional jumps
679 void j(Condition cc, Label* L, Hint hint = no_hint); 681 void j(Condition cc, Label* L, Hint hint = no_hint);
680 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint); 682 void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint);
681 void j(Condition cc, Handle<Code> code, Hint hint = no_hint); 683 void j(Condition cc, Handle<Code> code, Hint hint = no_hint);
682 684
683 // Floating-point operations 685 // Floating-point operations
684 void fld(int i); 686 void fld(int i);
687 void fstp(int i);
685 688
686 void fld1(); 689 void fld1();
687 void fldz(); 690 void fldz();
691 void fldpi();
688 692
689 void fld_s(const Operand& adr); 693 void fld_s(const Operand& adr);
690 void fld_d(const Operand& adr); 694 void fld_d(const Operand& adr);
691 695
692 void fstp_s(const Operand& adr); 696 void fstp_s(const Operand& adr);
693 void fstp_d(const Operand& adr); 697 void fstp_d(const Operand& adr);
698 void fst_d(const Operand& adr);
694 699
695 void fild_s(const Operand& adr); 700 void fild_s(const Operand& adr);
696 void fild_d(const Operand& adr); 701 void fild_d(const Operand& adr);
697 702
698 void fist_s(const Operand& adr); 703 void fist_s(const Operand& adr);
699 704
700 void fistp_s(const Operand& adr); 705 void fistp_s(const Operand& adr);
701 void fistp_d(const Operand& adr); 706 void fistp_d(const Operand& adr);
702 707
703 void fisttp_s(const Operand& adr); 708 void fisttp_s(const Operand& adr);
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 private: 914 private:
910 Assembler* assembler_; 915 Assembler* assembler_;
911 #ifdef DEBUG 916 #ifdef DEBUG
912 int space_before_; 917 int space_before_;
913 #endif 918 #endif
914 }; 919 };
915 920
916 } } // namespace v8::internal 921 } } // namespace v8::internal
917 922
918 #endif // V8_IA32_ASSEMBLER_IA32_H_ 923 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/ia32/assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698