Home | History | Annotate | Download | only in interpreter

Lines Matching defs:bytecode

10 #include "src/interpreter/bytecode-register-allocator.h"
11 #include "src/interpreter/bytecode-register.h"
24 // Interface for bytecode pipeline stages.
29 // Write bytecode node |node| into pipeline. The node is only valid
34 // Write jump bytecode node |node| which jumps to |label| into pipeline.
40 // Binds |label| to the current bytecode location. This call implicitly
50 // Flush the pipeline and generate a bytecode array.
76 // statement position associated with 7 but no bytecode associated
133 // A container for a generated bytecode, it's operands, and source information.
137 INLINE(BytecodeNode(Bytecode bytecode,
139 : bytecode_(bytecode),
143 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), operand_count());
146 INLINE(BytecodeNode(Bytecode bytecode, uint32_t operand0,
148 : bytecode_(bytecode),
152 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), operand_count());
156 INLINE(BytecodeNode(Bytecode bytecode, uint32_t operand0, uint32_t operand1,
158 : bytecode_(bytecode),
162 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), operand_count());
167 INLINE(BytecodeNode(Bytecode bytecode, uint32_t operand0, uint32_t operand1,
170 : bytecode_(bytecode),
174 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), operand_count());
180 INLINE(BytecodeNode(Bytecode bytecode, uint32_t operand0, uint32_t operand1,
183 : bytecode_(bytecode),
187 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), operand_count());
194 // Replace the bytecode of this node with |bytecode| and keep the operands.
195 void replace_bytecode(Bytecode bytecode) {
197 Bytecodes::NumberOfOperands(bytecode));
198 bytecode_ = bytecode;
201 void set_bytecode(Bytecode bytecode) {
202 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), 0);
203 bytecode_ = bytecode;
208 void set_bytecode(Bytecode bytecode, uint32_t operand0) {
209 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), 1);
210 bytecode_ = bytecode;
216 void set_bytecode(Bytecode bytecode, uint32_t operand0, uint32_t operand1) {
217 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), 2);
218 bytecode_ = bytecode;
225 void set_bytecode(Bytecode bytecode, uint32_t operand0, uint32_t operand1,
227 DCHECK_EQ(Bytecodes::NumberOfOperands(bytecode), 3);
228 bytecode_ = bytecode;
240 // operand more than the current bytecode.
241 void Transform(Bytecode new_bytecode, uint32_t extra_operand) {
243 Bytecodes::NumberOfOperands(bytecode()) + 1);
244 DCHECK(Bytecodes::NumberOfOperands(bytecode()) < 1 ||
246 Bytecodes::GetOperandType(bytecode(), 0));
247 DCHECK(Bytecodes::NumberOfOperands(bytecode()) < 2 ||
249 Bytecodes::GetOperandType(bytecode(), 1));
250 DCHECK(Bytecodes::NumberOfOperands(bytecode()) < 3 ||
252 Bytecodes::GetOperandType(bytecode(), 2));
253 DCHECK(Bytecodes::NumberOfOperands(bytecode()) < 4);
260 Bytecode bytecode() const { return bytecode_; }
281 if (Bytecodes::OperandIsScalableSignedByte(bytecode(), operand_index)) {
284 } else if (Bytecodes::OperandIsScalableUnsignedByte(bytecode(),
296 Bytecode bytecode_;