OLD | NEW |
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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 // Emit a jump to the target. There must be a current frame at the | 106 // Emit a jump to the target. There must be a current frame at the |
107 // jump and there will be no current frame after the jump. | 107 // jump and there will be no current frame after the jump. |
108 virtual void Jump(); | 108 virtual void Jump(); |
109 virtual void Jump(Result* arg); | 109 virtual void Jump(Result* arg); |
110 | 110 |
111 // Emit a conditional branch to the target. There must be a current | 111 // Emit a conditional branch to the target. There must be a current |
112 // frame at the branch. The current frame will fall through to the | 112 // frame at the branch. The current frame will fall through to the |
113 // code after the branch. | 113 // code after the branch. |
114 virtual void Branch(Condition cc, Hint hint = no_hint); | 114 virtual void Branch(Condition cc, Hint hint = no_hint); |
115 virtual void Branch(Condition cc, Result* arg, Hint hint = no_hint); | 115 virtual void Branch(Condition cc, Result* arg, Hint hint = no_hint); |
116 void Branch(Condition cc, Result* arg0, Result* arg1, Hint hint = no_hint); | |
117 | 116 |
118 // Bind a jump target. If there is no current frame at the binding | 117 // Bind a jump target. If there is no current frame at the binding |
119 // site, there must be at least one frame reaching via a forward | 118 // site, there must be at least one frame reaching via a forward |
120 // jump. | 119 // jump. |
121 virtual void Bind(); | 120 virtual void Bind(); |
122 virtual void Bind(Result* arg); | 121 virtual void Bind(Result* arg); |
123 void Bind(Result* arg0, Result* arg1); | |
124 | 122 |
125 // Emit a call to a jump target. There must be a current frame at | 123 // Emit a call to a jump target. There must be a current frame at |
126 // the call. The frame at the target is the same as the current | 124 // the call. The frame at the target is the same as the current |
127 // frame except for an extra return address on top of it. The frame | 125 // frame except for an extra return address on top of it. The frame |
128 // after the call is the same as the frame before the call. | 126 // after the call is the same as the frame before the call. |
129 void Call(); | 127 void Call(); |
130 | 128 |
131 static void set_compiling_deferred_code(bool flag) { | 129 static void set_compiling_deferred_code(bool flag) { |
132 compiling_deferred_code_ = flag; | 130 compiling_deferred_code_ = flag; |
133 } | 131 } |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 bool is_shadowing_; | 268 bool is_shadowing_; |
271 #endif | 269 #endif |
272 | 270 |
273 DISALLOW_COPY_AND_ASSIGN(ShadowTarget); | 271 DISALLOW_COPY_AND_ASSIGN(ShadowTarget); |
274 }; | 272 }; |
275 | 273 |
276 | 274 |
277 } } // namespace v8::internal | 275 } } // namespace v8::internal |
278 | 276 |
279 #endif // V8_JUMP_TARGET_H_ | 277 #endif // V8_JUMP_TARGET_H_ |
OLD | NEW |