56 void SetFunctionEntrySourcePosition(
int position);
58 template <
typename IsolateT>
64 template <
typename IsolateT>
79 static const size_t kMaxSizeOfPackedBytecode =
81 Bytecodes::kMaxOperands *
static_cast<size_t>(OperandSize::kLast);
86 const uint32_t k8BitJumpPlaceholder = 0x7f;
87 const uint32_t k16BitJumpPlaceholder =
88 k8BitJumpPlaceholder | (k8BitJumpPlaceholder << 8);
89 const uint32_t k32BitJumpPlaceholder =
90 k16BitJumpPlaceholder | (k16BitJumpPlaceholder << 16);
92 void PatchJump(
size_t jump_target,
size_t jump_location);
93 void PatchJumpWith8BitOperand(
size_t jump_location,
int delta);
94 void PatchJumpWith16BitOperand(
size_t jump_location,
int delta);
95 void PatchJumpWith32BitOperand(
size_t jump_location,
int delta);
101 void UpdateSourcePositionTable(
const BytecodeNode*
const node);
103 void UpdateExitSeenInBlock(
Bytecode bytecode);
105 void MaybeElideLastBytecode(
Bytecode next_bytecode,
bool has_source_info);
106 void InvalidateLastBytecode();
108 void StartBasicBlock();
115 return constant_array_builder_;
130 friend class bytecode_array_writer_unittest::BytecodeArrayWriterUnittest;