Lines Matching defs:node
11 #include "src/interpreter/bytecode-node.h"
109 void BytecodeArrayWriter::Write(BytecodeNode* node) {
110 DCHECK(!Bytecodes::IsJump(node->bytecode()));
113 UpdateExitSeenInBlock(node->bytecode());
114 MaybeElideLastBytecode(node->bytecode(), node->source_info().is_valid());
116 UpdateSourcePositionTable(node);
117 EmitBytecode(node);
120 void BytecodeArrayWriter::WriteJump(BytecodeNode* node, BytecodeLabel* label) {
121 DCHECK(Bytecodes::IsForwardJump(node->bytecode()));
124 UpdateExitSeenInBlock(node->bytecode());
125 MaybeElideLastBytecode(node->bytecode(), node->source_info().is_valid());
127 UpdateSourcePositionTable(node);
128 EmitJump(node, label);
131 void BytecodeArrayWriter::WriteJumpLoop(BytecodeNode* node,
133 DCHECK_EQ(node->bytecode(), Bytecode::kJumpLoop);
136 UpdateExitSeenInBlock(node->bytecode());
137 MaybeElideLastBytecode(node->bytecode(), node->source_info().is_valid());
139 UpdateSourcePositionTable(node);
140 EmitJumpLoop(node, loop_header);
143 void BytecodeArrayWriter::WriteSwitch(BytecodeNode* node,
145 DCHECK(Bytecodes::IsSwitch(node->bytecode()));
148 UpdateExitSeenInBlock(node->bytecode());
149 MaybeElideLastBytecode(node->bytecode(), node->source_info().is_valid());
151 UpdateSourcePositionTable(node);
152 EmitSwitch(node, jump_table);
224 const BytecodeNode* const node) {
226 const BytecodeSourceInfo& source_info = node->source_info();
277 void BytecodeArrayWriter::EmitBytecode(const BytecodeNode* const node) {
278 DCHECK_NE(node->bytecode(), Bytecode::kIllegal);
280 Bytecode bytecode = node->bytecode();
281 OperandScale operand_scale = node->operand_scale();
289 const uint32_t* const operands = node->operands();
290 const int operand_count = node->operand_count();
461 void BytecodeArrayWriter::EmitJumpLoop(BytecodeNode* node,
463 DCHECK_EQ(node->bytecode(), Bytecode::kJumpLoop);
464 DCHECK_EQ(0u, node->operand(0));
478 node->update_operand0(delta);
479 EmitBytecode(node);
482 void BytecodeArrayWriter::EmitJump(BytecodeNode* node, BytecodeLabel* label) {
483 DCHECK(Bytecodes::IsForwardJump(node->bytecode()));
484 DCHECK_EQ(0u, node->operand(0));
498 DCHECK_NE(Bytecode::kJumpLoop, node->bytecode());
503 node->update_operand0(k8BitJumpPlaceholder);
506 node->update_operand0(k16BitJumpPlaceholder);
509 node->update_operand0(k32BitJumpPlaceholder);
512 EmitBytecode(node);
515 void BytecodeArrayWriter::EmitSwitch(BytecodeNode* node,
517 DCHECK(Bytecodes::IsSwitch(node->bytecode()));
520 if (node->operand_scale() > OperandScale::kSingle) {
526 EmitBytecode(node);