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

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

Issue 3807: Remove the ARM jump elimination. (Closed)
Patch Set: Blah 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-arm.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 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are 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 724 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 // Relocation info records are also used during code generation as temporary 735 // Relocation info records are also used during code generation as temporary
736 // containers for constants and code target addresses until they are emitted 736 // containers for constants and code target addresses until they are emitted
737 // to the constant pool. These pending relocation info records are temporarily 737 // to the constant pool. These pending relocation info records are temporarily
738 // stored in a separate buffer until a constant pool is emitted. 738 // stored in a separate buffer until a constant pool is emitted.
739 // If every instruction in a long sequence is accessing the pool, we need one 739 // If every instruction in a long sequence is accessing the pool, we need one
740 // pending relocation entry per instruction. 740 // pending relocation entry per instruction.
741 static const int kMaxNumPRInfo = kMaxDistBetweenPools/kInstrSize; 741 static const int kMaxNumPRInfo = kMaxDistBetweenPools/kInstrSize;
742 RelocInfo prinfo_[kMaxNumPRInfo]; // the buffer of pending relocation info 742 RelocInfo prinfo_[kMaxNumPRInfo]; // the buffer of pending relocation info
743 int num_prinfo_; // number of pending reloc info entries in the buffer 743 int num_prinfo_; // number of pending reloc info entries in the buffer
744 744
745 // Jump-to-jump elimination: 745 // The bound position, before this we cannot do instruction elimination.
746 // The last label to be bound to _binding_pos, if unbound.
747 Label unbound_label_;
748 // The position to which _unbound_label has to be bound, if present.
749 int binding_pos_;
750 // The position before which jumps cannot be eliminated.
751 int last_bound_pos_; 746 int last_bound_pos_;
752 747
753 // source position information 748 // source position information
754 int last_position_; 749 int last_position_;
755 bool last_position_is_statement_; 750 bool last_position_is_statement_;
756 751
757 // Code emission 752 // Code emission
758 inline void CheckBuffer(); 753 inline void CheckBuffer();
759 void GrowBuffer(); 754 void GrowBuffer();
760 inline void emit(Instr x); 755 inline void emit(Instr x);
(...skipping 19 matching lines...) Expand all
780 775
781 // Block the emission of the constant pool before pc_offset 776 // Block the emission of the constant pool before pc_offset
782 void BlockConstPoolBefore(int pc_offset) { 777 void BlockConstPoolBefore(int pc_offset) {
783 if (no_const_pool_before_ < pc_offset) no_const_pool_before_ = pc_offset; 778 if (no_const_pool_before_ < pc_offset) no_const_pool_before_ = pc_offset;
784 } 779 }
785 }; 780 };
786 781
787 } } // namespace v8::internal 782 } } // namespace v8::internal
788 783
789 #endif // V8_ASSEMBLER_ARM_H_ 784 #endif // V8_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698