1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//! `stator_jse` — the foundational engine library for the Stator JavaScript
//! engine.
//!
//! # Crate layout
//!
//! - [`error`] — Engine error types and `StatorResult` alias.
//! - [`gc`] — Garbage collector infrastructure (heap, tracing, handles).
//! - [`objects`] — JavaScript value representation and heap object types.
//! - [`sandbox`] — Memory sandbox: virtual-address range reservation, pointer
//! bounds checking, and external pointer table.
//! - [`zone`] — Bump-pointer region allocator for compiler temporaries.
//! - [`parser`] — Lexer ([`parser::scanner`]), AST ([`parser::ast`]), and
//! scope analysis ([`parser::scope`]), and lazy parsing
//! ([`parser::preparser`])
//! - [`interpreter`] — Bytecode interpreter ([`interpreter::Interpreter`]):
//! fetch-decode-dispatch loop, [`interpreter::InterpreterFrame`] activation
//! frame, and arithmetic/comparison opcode handlers.
//! - [`bytecode`] — Bytecode instruction set ([`bytecode::bytecodes`]):
//! ~174 opcodes matching V8 Ignition semantics, operand encoding, and
//! encode/decode utilities. [`bytecode::bytecode_array`] provides the
//! compact [`bytecode::bytecode_array::BytecodeArray`] type with constant
//! pool and source-position table. [`bytecode::register`] provides the
//! [`bytecode::register::Register`] type and
//! [`bytecode::register::RegisterAllocator`] for register assignment during
//! compilation. [`bytecode::bytecode_generator`] provides the
//! [`bytecode::bytecode_generator::BytecodeGenerator`] that compiles a
//! JavaScript AST into a [`bytecode::bytecode_array::BytecodeArray`].
//! [`bytecode::feedback`] provides [`bytecode::feedback::FeedbackVector`],
//! [`bytecode::feedback::FeedbackMetadata`],
//! [`bytecode::feedback::FeedbackSlotKind`], and
//! [`bytecode::feedback::InlineCacheState`] for inline-cache feedback.
/// Built-in JavaScript object static methods (`Object`, `Promise`, …).
/// Bytecode instruction set and encode/decode utilities.
/// JIT compiler infrastructure: baseline code generator and macro-assembler.
/// DOM integration layer: object wrapping, property interceptors, internal
/// fields, and weak references for bridging the JS engine with web platform
/// APIs.
/// Engine error types and [`StatorResult`] alias.
/// Event loop integration: macrotask scheduling, timer management, and
/// microtask queue draining for embedder coordination.
/// V8-compatible FFI wrapper types (`V8Object`, `V8Array`, `V8Number`, etc.).
/// Garbage collector infrastructure: heap, tracing, and handle scopes.
/// Inline-cache runtime: property load/store fast paths and call-site tracking.
/// Chrome DevTools Protocol (CDP) WebSocket inspector server and sampling CPU
/// profiler.
/// Bytecode interpreter: fetch-decode-dispatch loop and activation frame.
/// JavaScript value representation and heap object types.
/// JavaScript parser infrastructure (lexer and AST node definitions).
/// Platform abstraction for embedder-provided task scheduling and timing.
/// Memory sandbox: virtual-address range reservation, pointer bounds checking,
/// and external pointer table for non-sandbox memory.
/// Startup snapshot: binary serialization and deserialization of heap state.
/// WebAssembly backend: engine, module, and instance wrappers (Wasmtime).
/// Bump-pointer region allocator for compiler temporaries.