refactor: 拆分 bytecode/cache crate 并模块化 counter

This commit is contained in:
爱特每羊队
2026-06-23 17:06:39 +08:00
parent f7db0230f7
commit dbc15f6d1f
38 changed files with 1332 additions and 1306 deletions
+2 -1
View File
@@ -7,7 +7,7 @@ rust-version.workspace = true
description = "OxideJS - Register-based VM with epoch arena memory"
[dependencies]
oxide_compiler = { path = "../oxide_compiler" }
oxide_bytecode = { path = "../oxide_bytecode" }
oxide_kernel = { path = "../oxide_kernel" }
oxide_types = { path = "../oxide_types" }
bumpalo.workspace = true
@@ -23,5 +23,6 @@ unicode-normalization.workspace = true
tracing.workspace = true
[dev-dependencies]
oxide_compiler = { path = "../oxide_compiler" }
proptest.workspace = true
oxide_parser = { path = "../oxide_parser" }
+1 -1
View File
@@ -1,4 +1,4 @@
use oxide_compiler::opcode::OpCode;
use oxide_bytecode::opcode::OpCode;
use oxide_types::object::JsObject;
use oxide_types::value::JsValue;
+1 -1
View File
@@ -1,4 +1,4 @@
use oxide_compiler::opcode::OpCode;
use oxide_bytecode::opcode::OpCode;
use oxide_kernel::prop_forge::PropTemplate;
use oxide_kernel::{ic_debug, ic_trace};
use oxide_types::object::JsObject;
+3 -3
View File
@@ -3,8 +3,8 @@
use std::collections::HashMap;
use std::sync::Arc;
use oxide_compiler::module::CompiledModule;
use oxide_compiler::opcode::{self, OpCode};
use oxide_bytecode::module::CompiledModule;
use oxide_bytecode::opcode::{self, OpCode};
use smallvec::SmallVec;
pub use crate::bindings::init_kernel_builtins;
@@ -1286,7 +1286,7 @@ impl Default for Vm {
mod tests {
use super::{opcode, JsValue, TryHandler, Vm};
use crate::native::NativeResult;
use oxide_compiler::module::{CompiledModule, Constant};
use oxide_bytecode::module::{CompiledModule, Constant};
use oxide_types::object::NativeFnPtr;
use oxide_types::object::{JsObject, PropAttributes};
+1 -1
View File
@@ -1,5 +1,5 @@
use crate::vm::{FrameContinuation, TryHandler, Vm};
use oxide_compiler::opcode;
use oxide_bytecode::opcode;
use oxide_types::object::PropAttributes;
use oxide_types::value::JsValue;
+2 -2
View File
@@ -1,5 +1,5 @@
use oxide_compiler::module::CompiledModule;
use oxide_compiler::opcode;
use oxide_bytecode::module::CompiledModule;
use oxide_bytecode::opcode;
use crate::vm::{CallFrame, InlineSyncState, Vm};
use oxide_types::object::JsObject;
+1 -1
View File
@@ -2,7 +2,7 @@
use std::sync::Arc;
use oxide_compiler::compiler::Constant;
use oxide_bytecode::module::Constant;
use crate::bindings;
use crate::vm::{native_fn_ptr_to_fn, Vm};
+1 -1
View File
@@ -1,5 +1,5 @@
use oxide_bytecode::module::CompiledModule;
use oxide_compiler::compiler::Compiler;
use oxide_compiler::module::CompiledModule;
use oxide_parser::Allocator;
use oxide_vm::vm::Vm;