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

Side by Side Diff: src/jump-target.h

Issue 19425: Change FastCharCodeAt to use a virtual frame. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 11 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/codegen-ia32.cc ('k') | src/jump-target-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 2008 the V8 project authors. All rights reserved. 1 // Copyright 2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 // All virtual frame pointers are copied, not the pointed-to frames. 112 // All virtual frame pointers are copied, not the pointed-to frames.
113 // The previous state of the destination is overwritten, without 113 // The previous state of the destination is overwritten, without
114 // deallocating pointed-to virtual frames. 114 // deallocating pointed-to virtual frames.
115 void CopyTo(JumpTarget* destination); 115 void CopyTo(JumpTarget* destination);
116 116
117 // Emit a jump to the target. There must be a current frame at the 117 // Emit a jump to the target. There must be a current frame at the
118 // jump and there will be no current frame after the jump. 118 // jump and there will be no current frame after the jump.
119 void Jump(); 119 void Jump();
120 void Jump(Result* arg); 120 void Jump(Result* arg);
121 void Jump(Result* arg0, Result* arg1); 121 void Jump(Result* arg0, Result* arg1);
122 void Jump(Result* arg0, Result* arg1, Result* arg2);
122 123
123 // Emit a conditional branch to the target. There must be a current 124 // Emit a conditional branch to the target. There must be a current
124 // frame at the branch. The current frame will fall through to the 125 // frame at the branch. The current frame will fall through to the
125 // code after the branch. 126 // code after the branch.
126 void Branch(Condition cc, Hint hint = no_hint); 127 void Branch(Condition cc, Hint hint = no_hint);
127 void Branch(Condition cc, Result* arg, Hint hint = no_hint); 128 void Branch(Condition cc, Result* arg, Hint hint = no_hint);
128 void Branch(Condition cc, Result* arg0, Result* arg1, Hint hint = no_hint); 129 void Branch(Condition cc, Result* arg0, Result* arg1, Hint hint = no_hint);
130 void Branch(Condition cc,
131 Result* arg0,
132 Result* arg1,
133 Result* arg2,
134 Hint hint = no_hint);
135 void Branch(Condition cc,
136 Result* arg0,
137 Result* arg1,
138 Result* arg2,
139 Result* arg3,
140 Hint hint = no_hint);
129 141
130 // Bind a jump target. If there is no current frame at the binding 142 // Bind a jump target. If there is no current frame at the binding
131 // site, there must be at least one frame reaching via a forward 143 // site, there must be at least one frame reaching via a forward
132 // jump. This frame will be used to establish an expected frame for 144 // jump. This frame will be used to establish an expected frame for
133 // the block, which will be the current frame after the bind. 145 // the block, which will be the current frame after the bind.
134 void Bind(); 146 void Bind();
135 void Bind(Result* arg); 147 void Bind(Result* arg);
136 void Bind(Result* arg0, Result* arg1); 148 void Bind(Result* arg0, Result* arg1);
149 void Bind(Result* arg0, Result* arg1, Result* arg2);
150 void Bind(Result* arg0, Result* arg1, Result* arg2, Result* arg3);
137 151
138 // Emit a call to a jump target. There must be a current frame at 152 // Emit a call to a jump target. There must be a current frame at
139 // the call. The frame at the target is the same as the current 153 // the call. The frame at the target is the same as the current
140 // frame except for an extra return address on top of it. The frame 154 // frame except for an extra return address on top of it. The frame
141 // after the call is the same as the frame before the call. 155 // after the call is the same as the frame before the call.
142 void Call(); 156 void Call();
143 157
144 protected: 158 protected:
145 // The code generator gives access to its current frame. 159 // The code generator gives access to its current frame.
146 CodeGenerator* cgen_; 160 CodeGenerator* cgen_;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 bool is_shadowing_; 226 bool is_shadowing_;
213 #endif 227 #endif
214 228
215 DISALLOW_COPY_AND_ASSIGN(ShadowTarget); 229 DISALLOW_COPY_AND_ASSIGN(ShadowTarget);
216 }; 230 };
217 231
218 232
219 } } // namespace v8::internal 233 } } // namespace v8::internal
220 234
221 #endif // V8_JUMP_TARGET_H_ 235 #endif // V8_JUMP_TARGET_H_
OLDNEW
« no previous file with comments | « src/codegen-ia32.cc ('k') | src/jump-target-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698