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/interpreter/bytecodes.h

Issue 2641443002: [ignition] Use absolute values for jump offsets (Closed)
Patch Set: Fix build Created 3 years, 11 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
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_INTERPRETER_BYTECODES_H_ 5 #ifndef V8_INTERPRETER_BYTECODES_H_
6 #define V8_INTERPRETER_BYTECODES_H_ 6 #define V8_INTERPRETER_BYTECODES_H_
7 7
8 #include <cstdint> 8 #include <cstdint>
9 #include <iosfwd> 9 #include <iosfwd>
10 #include <string> 10 #include <string>
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 V(CreateWithContext, AccumulatorUse::kReadWrite, OperandType::kReg, \ 219 V(CreateWithContext, AccumulatorUse::kReadWrite, OperandType::kReg, \
220 OperandType::kIdx) \ 220 OperandType::kIdx) \
221 \ 221 \
222 /* Arguments allocation */ \ 222 /* Arguments allocation */ \
223 V(CreateMappedArguments, AccumulatorUse::kWrite) \ 223 V(CreateMappedArguments, AccumulatorUse::kWrite) \
224 V(CreateUnmappedArguments, AccumulatorUse::kWrite) \ 224 V(CreateUnmappedArguments, AccumulatorUse::kWrite) \
225 V(CreateRestParameter, AccumulatorUse::kWrite) \ 225 V(CreateRestParameter, AccumulatorUse::kWrite) \
226 \ 226 \
227 /* Control Flow -- carefully ordered for efficient checks */ \ 227 /* Control Flow -- carefully ordered for efficient checks */ \
228 /* - [Unconditional jumps] */ \ 228 /* - [Unconditional jumps] */ \
229 V(JumpLoop, AccumulatorUse::kNone, OperandType::kImm, OperandType::kImm) \ 229 V(JumpLoop, AccumulatorUse::kNone, OperandType::kUImm, OperandType::kImm) \
230 /* - [Forward jumps] */ \ 230 /* - [Forward jumps] */ \
231 V(Jump, AccumulatorUse::kNone, OperandType::kImm) \ 231 V(Jump, AccumulatorUse::kNone, OperandType::kUImm) \
232 /* - [Start constant jumps] */ \ 232 /* - [Start constant jumps] */ \
233 V(JumpConstant, AccumulatorUse::kNone, OperandType::kIdx) \ 233 V(JumpConstant, AccumulatorUse::kNone, OperandType::kIdx) \
234 /* - [Conditional jumps] */ \ 234 /* - [Conditional jumps] */ \
235 /* - [Conditional constant jumps] */ \ 235 /* - [Conditional constant jumps] */ \
236 V(JumpIfNullConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 236 V(JumpIfNullConstant, AccumulatorUse::kRead, OperandType::kIdx) \
237 V(JumpIfUndefinedConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 237 V(JumpIfUndefinedConstant, AccumulatorUse::kRead, OperandType::kIdx) \
238 V(JumpIfTrueConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 238 V(JumpIfTrueConstant, AccumulatorUse::kRead, OperandType::kIdx) \
239 V(JumpIfFalseConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 239 V(JumpIfFalseConstant, AccumulatorUse::kRead, OperandType::kIdx) \
240 V(JumpIfJSReceiverConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 240 V(JumpIfJSReceiverConstant, AccumulatorUse::kRead, OperandType::kIdx) \
241 V(JumpIfNotHoleConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 241 V(JumpIfNotHoleConstant, AccumulatorUse::kRead, OperandType::kIdx) \
242 /* - [Start ToBoolean jumps] */ \ 242 /* - [Start ToBoolean jumps] */ \
243 V(JumpIfToBooleanTrueConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 243 V(JumpIfToBooleanTrueConstant, AccumulatorUse::kRead, OperandType::kIdx) \
244 V(JumpIfToBooleanFalseConstant, AccumulatorUse::kRead, OperandType::kIdx) \ 244 V(JumpIfToBooleanFalseConstant, AccumulatorUse::kRead, OperandType::kIdx) \
245 /* - [End constant jumps] */ \ 245 /* - [End constant jumps] */ \
246 /* - [Conditional immediate jumps] */ \ 246 /* - [Conditional immediate jumps] */ \
247 V(JumpIfToBooleanTrue, AccumulatorUse::kRead, OperandType::kImm) \ 247 V(JumpIfToBooleanTrue, AccumulatorUse::kRead, OperandType::kUImm) \
248 V(JumpIfToBooleanFalse, AccumulatorUse::kRead, OperandType::kImm) \ 248 V(JumpIfToBooleanFalse, AccumulatorUse::kRead, OperandType::kUImm) \
249 /* - [End ToBoolean jumps] */ \ 249 /* - [End ToBoolean jumps] */ \
250 V(JumpIfTrue, AccumulatorUse::kRead, OperandType::kImm) \ 250 V(JumpIfTrue, AccumulatorUse::kRead, OperandType::kUImm) \
251 V(JumpIfFalse, AccumulatorUse::kRead, OperandType::kImm) \ 251 V(JumpIfFalse, AccumulatorUse::kRead, OperandType::kUImm) \
252 V(JumpIfNull, AccumulatorUse::kRead, OperandType::kImm) \ 252 V(JumpIfNull, AccumulatorUse::kRead, OperandType::kUImm) \
253 V(JumpIfUndefined, AccumulatorUse::kRead, OperandType::kImm) \ 253 V(JumpIfUndefined, AccumulatorUse::kRead, OperandType::kUImm) \
254 V(JumpIfJSReceiver, AccumulatorUse::kRead, OperandType::kImm) \ 254 V(JumpIfJSReceiver, AccumulatorUse::kRead, OperandType::kUImm) \
255 V(JumpIfNotHole, AccumulatorUse::kRead, OperandType::kImm) \ 255 V(JumpIfNotHole, AccumulatorUse::kRead, OperandType::kUImm) \
256 \ 256 \
257 /* Complex flow control For..in */ \ 257 /* Complex flow control For..in */ \
258 V(ForInPrepare, AccumulatorUse::kNone, OperandType::kReg, \ 258 V(ForInPrepare, AccumulatorUse::kNone, OperandType::kReg, \
259 OperandType::kRegOutTriple) \ 259 OperandType::kRegOutTriple) \
260 V(ForInContinue, AccumulatorUse::kWrite, OperandType::kReg, \ 260 V(ForInContinue, AccumulatorUse::kWrite, OperandType::kReg, \
261 OperandType::kReg) \ 261 OperandType::kReg) \
262 V(ForInNext, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg, \ 262 V(ForInNext, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg, \
263 OperandType::kRegPair, OperandType::kIdx) \ 263 OperandType::kRegPair, OperandType::kIdx) \
264 V(ForInStep, AccumulatorUse::kWrite, OperandType::kReg) \ 264 V(ForInStep, AccumulatorUse::kWrite, OperandType::kReg) \
265 \ 265 \
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 }; 816 };
817 817
818 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, 818 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
819 const Bytecode& bytecode); 819 const Bytecode& bytecode);
820 820
821 } // namespace interpreter 821 } // namespace interpreter
822 } // namespace internal 822 } // namespace internal
823 } // namespace v8 823 } // namespace v8
824 824
825 #endif // V8_INTERPRETER_BYTECODES_H_ 825 #endif // V8_INTERPRETER_BYTECODES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698