Skip to main content

Module bytecode

Module bytecode 

Source
Expand description

Bytecode instruction set and encode/decode utilities. Bytecode module: instruction set and encoding for the Stator VM.

The instruction set matches V8 Ignition semantics (~174 opcodes).

  • [bytecodes] — Opcode table, operand encoding, [bytecodes::Instruction] type, and [bytecodes::encode]/[bytecodes::decode] utilities.
  • [bytecode_array] — [bytecode_array::BytecodeArray]: compact bytecode storage, constant pool, frame metadata, and source-position table.
  • [register] — [register::Register] virtual-register type and [register::RegisterAllocator] for register assignment during compilation.
  • [bytecode_generator] — [bytecode_generator::BytecodeGenerator]: AST-to-bytecode compiler that produces a [bytecode_array::BytecodeArray] from a crate::parser::ast::Program.
  • [feedback] — [feedback::FeedbackVector], [feedback::FeedbackMetadata], [feedback::FeedbackSlotKind], and [feedback::InlineCacheState]: inline cache feedback slots allocated during compilation and updated at runtime.
  • [source_positions] — [source_positions::SourcePositionTable] and [source_positions::SourcePositionEntry]: maps bytecode offsets to source locations for stack traces, debugger stepping, and source maps.

Modules§

bytecode_array
Compact bytecode storage with constant pool and source-position table. [BytecodeArray] — the immutable, compact bytecode representation used by the Stator VM interpreter.
bytecode_generator
Bytecode generator: compiles a JavaScript AST into a bytecode_array::BytecodeArray. Bytecode generator: walks an AST and emits a [BytecodeArray].
bytecodes
Bytecode instruction set, operand encoding, and encode/decode utilities. Bytecode instruction set matching V8 Ignition semantics.
feedback
Feedback vectors and inline-cache state for adaptive optimisation. Feedback vectors and inline-cache state for the Stator VM.
peephole
Peephole fusion pass for decoded bytecode streams. Peephole fusion over decoded bytecode instructions.
register
Virtual register type and register allocator for bytecode compilation. Virtual register types and register allocator for the Stator bytecode compiler.
source_positions
Source-position table: maps bytecode offsets to source locations for stack traces, debugger stepping, and source maps. Source-position table: maps bytecode offsets to locations in JavaScript source code.