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

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

Issue 4321: Remove x86 jump elimination. (Closed)
Patch Set: Created 12 years, 2 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
« no previous file with comments | « no previous file | src/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 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 // True if the assembler owns the buffer, false if buffer is external. 720 // True if the assembler owns the buffer, false if buffer is external.
721 bool own_buffer_; 721 bool own_buffer_;
722 722
723 // code generation 723 // code generation
724 byte* pc_; // the program counter; moves forward 724 byte* pc_; // the program counter; moves forward
725 RelocInfoWriter reloc_info_writer; 725 RelocInfoWriter reloc_info_writer;
726 726
727 // push-pop elimination 727 // push-pop elimination
728 byte* last_pc_; 728 byte* last_pc_;
729 729
730 // Jump-to-jump elimination:
731 // The last label to be bound to _binding_pos, if unbound.
732 Label unbound_label_;
733 // The position to which _unbound_label has to be bound, if present.
734 int binding_pos_;
735 // The position before which jumps cannot be eliminated.
736 int last_bound_pos_;
737
738 // source position information 730 // source position information
739 int last_position_; 731 int last_position_;
740 int last_statement_position_; 732 int last_statement_position_;
741 733
742 byte* addr_at(int pos) { return buffer_ + pos; } 734 byte* addr_at(int pos) { return buffer_ + pos; }
743 byte byte_at(int pos) { return buffer_[pos]; } 735 byte byte_at(int pos) { return buffer_[pos]; }
744 uint32_t long_at(int pos) { 736 uint32_t long_at(int pos) {
745 return *reinterpret_cast<uint32_t*>(addr_at(pos)); 737 return *reinterpret_cast<uint32_t*>(addr_at(pos));
746 } 738 }
747 void long_at_put(int pos, uint32_t x) { 739 void long_at_put(int pos, uint32_t x) {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 private: 802 private:
811 Assembler* assembler_; 803 Assembler* assembler_;
812 #ifdef DEBUG 804 #ifdef DEBUG
813 int space_before_; 805 int space_before_;
814 #endif 806 #endif
815 }; 807 };
816 808
817 } } // namespace v8::internal 809 } } // namespace v8::internal
818 810
819 #endif // V8_ASSEMBLER_IA32_H_ 811 #endif // V8_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « no previous file | src/assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698