feat(libs): qjs_v8_compat — rusty_v8-shaped surface backed by QuickJS-ng #34033
feat(qjs_v8_compat): rusty_v8-shaped surface backed by QuickJS-ng
40074a9d
littledivy
marked this pull request as draft 61 days ago
style(qjs_v8_compat): apply dprint/rustfmt formatting
53caf331
chore: trigger CI [ci]
15036d83
feat(qjs_v8_compat): vendor QuickJS-ng and run hello-world via real e…
4f992eb0
feat(qjs_v8_compat): HTTP server end-to-end on QuickJS-ng [ci]
40b74933
feat(qjs_v8_compat): ESM through host-driven module loader [ci]
82c719f8
feat(deno_core): add --features quickjs engine selector [ci]
72c28690
feat(qjs_v8_compat): close 380 deno_core compat-surface gaps [ci]
3abbf23c
feat(deno_core): cut --features quickjs errors 1693 -> 23 [ci]
163ff72c
feat(qjs_v8_compat): trait-method sigs match deno_core's impls [ci]
4befd596
feat(qjs_v8_compat): String::new associated functions [ci]
08a759bb
feat(qjs_v8_compat): CallbackScope::new, Local::try_cast, scope metho…
0d849d6c
feat(qjs_v8_compat): From/TryFrom upcasts for the v8 type lattice [ci]
1854e849
feat(qjs_v8_compat): generic Local::new + per-marker constructors [ci]
d8c280a1
feat(qjs_v8_compat): ValueType impls + Type::as_info + Array::set_ind…
60b6510e
feat(qjs_v8_compat): more compat-surface fills (1721 -> 1643) [ci]
47bc5f05
feat(qjs_v8_compat): Pin<&mut CallbackScope>::init + BackingStore::ma…
6819303f
feat(qjs_v8_compat): scope Pin chain + module signature fixes [ci]
7199c033
fix(qjs_v8_compat): CallbackScope::init takes no args [ci]
f06a9494
feat(qjs_v8_compat): drop unsafe markers + add Value coercions [ci]
8f33d3a9
ci: init quickjs-ng submodule in CI checkout [ci]
c60785bf
feat(qjs_v8_compat): Local::cast infallible + DataError enum [ci]
83f8938e
feat(qjs_v8_compat): ScopeLike + ToLocal traits for Local::new [ci]
c604ca3a
feat(qjs_v8_compat): re-export WasmStreaming/FunctionBuilder + type_r…
95240ec6
feat(qjs_v8_compat): ExternalReference union + ReturnValue lifetime [ci]
4a981bb4
feat(qjs_v8_compat): v8::data submodule [ci]
63183e6b
feat(qjs_v8_compat): CTypeInfo::new takes 2 args [ci]
2cb724fa
fix(qjs_v8_compat): set_with_attr takes 3 args [ci]
89408eee
feat(qjs_v8_compat): batch surface fixes (1411 -> 1340) [ci]
bb9b6ea6
feat: serde_v8 quickjs engine selector + PinScope as struct [ci]
fadd22e8
feat(qjs_v8_compat): batch — 89 -> 43 deno_core errors [ci]
268730c8
feat: 19 errors away from deno_core --features quickjs compiling [ci]
ffcafc7b
fix(qjs_v8_compat): get_own_property_names accepts ScopeLike [ci]
4766fc1d
fix(qjs_v8_compat): PinScope: 'i: 's bound + transparent layout [ci]
7b862490
fix(qjs_v8_compat): get_own_property_names borrow lifetime [ci]
ffb3c9d5
chore(qjs_v8_compat): revert obj.get scope-generic experiment [ci]
4e526200
docs(qjs_v8_compat): overnight status report [ci]
f3b9ddb1
chore(serde_v8): extend_scope helper for next phase [ci]
2affb0bc
feat(qjs_v8_compat): result-lifetime decoupling + Deref<T> for Local …
51e3a0c2
feat(qjs_v8_compat): CallbackScope::deref to PinScope (1268->1188) [ci]
df51741a
feat(qjs_v8_compat): batch surface adds (1188 -> 1066) [ci]
9e766feb
feat(qjs_v8_compat): cast_unchecked + MapFnTo + HandleScopeSource [ci]
36b4bdfd
feat(qjs_v8_compat): PinCallbackScope alias + FunctionBuilder generic…
0f54847b
feat(qjs_v8_compat): HandleScope Deref to Isolate (945 -> 904) [ci]
675a3af7
feat(qjs_v8_compat): module.evaluate generic + context_scope 3-arg [ci]
2e8293e0
feat(qjs_v8_compat): more surface (901 -> 875) [ci]
f022558c
feat(qjs_v8_compat): LocalNewScope trait for Local::new generics [ci]
c67d1053
fix(qjs_v8_compat): ValueSerializerImpl uses PinScope [ci]
6bcbcb76
feat(qjs_v8_compat): LocalNewScope impls for TryCatch/CallbackScope (…
2a1a1531
feat(qjs_v8_compat): Local::new takes &mut S for reborrow [ci]
851d9b64
fix(qjs_v8_compat): scope! macro binds as &mut HandleScope (867 -> 82…
cad3610d
fix(qjs_v8_compat): ContextScope: LocalNewScope (827 -> 822) [ci]
693e2538
fix(qjs_v8_compat): bridge TryCatch/ContextScope deref to PinScope
a33e0d13
feat(qjs_v8_compat): add Object/Function/Promise/Module/Global stubs
8ecaa6f1
feat(qjs_v8_compat): add scope slot/heap/promise-hooks stubs and insp…
90b8fd9f
feat(qjs_v8_compat): add inspector/Wasm/serializer/template stubs
f1d3c5b5
feat(qjs_v8_compat): more stubs - cppgc/Object wrap/Platform/Script
a7c559d1
feat(qjs_v8_compat): generic try_cast/From, Function::builder closure…
d87185d3
feat(qjs_v8_compat): align module/array/v8inspector method shapes
d4456842
feat(qjs_v8_compat): bind scope! macro to &mut PinScope, add ScopeParent
9bf24204
feat(qjs_v8_compat): callback_scope binds &mut, V8Inspector returns b…
205e3970
feat(qjs_v8_compat): PromiseResolver resolve/reject accept Into<Local…
3dc5281d
feat(qjs_v8_compat): all scope macros bind &mut PinScope
e6ae6626
feat(qjs_v8_compat): more arg-shape fixes
5ad13c14
feat(qjs_v8_compat): more flexible signatures, blanket impls for seri…
aa072b81
feat(qjs_v8_compat): GetPropertyNamesArgs as struct, Module/FixedArra…
77c0818a
feat(qjs_v8_compat): generic ToLocal<Value>, scope-or-context generics
8b80eb40
feat(qjs_v8_compat): trait/inherent fix for Helper, builder_raw retur…
24f1415c
feat(qjs_v8_compat): broad From/TryFrom Local<T> <-> Local<Data>
fdbde1e2
feat(qjs_v8_compat): more fixes - blanket HandleScopeSource for &mut S
f8dad963
feat(qjs_v8_compat): more flexibility in Context::new/global
754b8332
fix: revert Global::new to take Local<T> directly (avoid inference am…
6b503a99
feat(qjs_v8_compat): more flexibility - CallbackScope sources, conver…
be7ef8cb
feat(qjs_v8_compat): StartupData From<&[u8]>
8dca6090
feat(qjs_v8_compat): Object::wrap/unwrap take &mut Isolate (matches d…
8f1dd592
feat(qjs_v8_compat): generic external_references/snapshot_creator
3b2dae6b
feat(qjs_v8_compat): module methods take &mut S (avoid scope move)
6ebe1943
fix(core): drop ()-context from PinScope/HandleScope signatures
06c2e2a6
fix(core): get_backing_store returns Arc directly (not Option)
0180503b
feat(qjs_v8_compat): more flexible signatures - V8 init/Isolate callb…
03daaabd
feat(qjs_v8_compat): Option-returning data/get methods, StartupData A…
79c86a54
feat(qjs_v8_compat): more flexible Array::set, wasm callback
cd147746
fix: data() always returns Option<NonNull>, remove broken NonNull::new
870b58aa
fix(core): mark value_serializer/deserializer as mut for write_/read_
e588d044
fix: ScriptOrigin::new generic source_map_url, get_module takes &mut …
73ab4e87
fix: ExternalReference field types match deno_core call site shape
1adafbc0
fix: PinCallbackScope = CallbackScope, Platform::make_shared returns Arc
dc913ba2
feat(qjs_v8_compat): MapFnTo blanket impl on any callable
a09dce64
feat: Object::wrap signature, UnsafePtr::as_ref, data() returns NonNull
11057b0b
feat(qjs_v8_compat): FunctionBuilder::build returns Option, construct…
d28e2442
fix: NonNull cast/.as_ptr, MapFnTo for SyntheticModuleEvaluationSteps…
9accfaa7
feat: WasmAsyncSuccess PartialEq, Local<String>::to_string
54b7ce25
feat: ContextOptions struct with global_template, Context::new/from_s…
a7e39b76
feat: DataError Copy, UnsafePtr::as_ref drop 'static, fix module ns t…
326e404f
fix(core): explicit type annotations for Local::new/Global::new in in…
7e54579d
fix(core): cast Local<Object> to Local<Value>, mark task as mut
4fad9388
fix: lifetime threading via transmute, exception_state Local<'s, T>
e6ef2f7c
fix(qjs_v8_compat,core): more lifetime threading - 17 → 2 errors
b2a340f3
fix(qjs_v8_compat): constrain ReturnValue::from_function_callback_inf…
807fcd4c
feat(core): use pub extern crate so deno_core::v8 resolves under quickjs
fe982d74
feat(qjs_v8_compat): wire Context/Function/Script/ObjectTemplate to r…
5a5f827b
feat(qjs_v8_compat): wire module evaluation, embedder slots, microtas…
e3df9474
chore(qjs_v8_compat): clean up debug eprintlns from probe pass
5a789227
fix(qjs_v8_compat): leak promise capability resolve/reject refs
fcd33f53
fix(qjs_v8_compat): clamp FunctionBuilder length to JS_NewCFunction r…
bf6dadd7
fix(qjs_v8_compat): release Script bytecode tracking before JS_EvalFu…
462fa642
feat(qjs_v8_compat): wire console + WebAssembly stubs, op trampoline …
c9da57fd
milestone: hello_world example runs end-to-end JS in QuickJS-ng
ea3f623e
wip(qjs_v8_compat): scaffold V8 callback ABI bridge for op invocation
cadd6a5d
wip(qjs_v8_compat): magic-based op dispatch table for FunctionBuilder
0bab8b76
fix(qjs_v8_compat): Isolate::as_raw_isolate_ptr returns Self ptr, not rt
211ba241
wip(qjs_v8_compat): bridge falls back to first-arg-stderr stub on op …
16963ddb
wip(qjs_v8_compat): preserve op trampoline stub fallback while V8 cal…
b5f1d5c7
feat(qjs_v8_compat): thread-local current_isolate for op-bridge scope…
d3818e35
feat(qjs_v8_compat): real op slow_fn dispatch via JS_NewCFunction2 ma…
8f9f719c
chore(qjs_v8_compat): clean up debug eprintlns from bridge dispatch m…
1413c9ca
fix(qjs_v8_compat): Local<Array>::length reads JS array length via pr…
7633a654
feat(qjs_v8_compat): add TracedReference<T> stub for ext/web compat
6e4571a2
feat: ext/web compiles under --features quickjs
62811702
feat: ext/net + telemetry stubs (GCType, ValueView, HeapStatistics, F…
38680579
feat: runtime crate feature plumbing (v8-engine/quickjs cascade throu…
387b0df1
feat: ext/http + ext/telemetry compile under quickjs (32+ new V8 API …
c6d686c6
feat: 23+ ext crates compile under quickjs (web, io, net, http, fetch…
d3a21651
feat: Local<Function>::get for property access
308e9194
qjs_v8_compat: deno_node compile progress, node_sqlite stub, scope dr…
67a45f10
qjs_v8_compat: HandleScopeInner split, Local::new takes &S, more by-v…
700ed5aa
qjs_v8_compat: add Pin<&mut> blanket HandleScopeSource impl, External…
1aa969a0
qjs_v8_compat: GlobalScope trait, generic Object/Exception/property m…
21dc6768
qjs_v8_compat: bulk surface fixes — ValueSerializer/Deserializer, Map…
91b1329d
qjs_v8_compat: down to ~30 deno_node errors (BackingStore Index, Uint…
358d2146
qjs_v8_compat: down to ~9 deno_node errors (Object::set/set_index &S,…
aa9caaba
qjs_v8_compat: deno_node compiles end-to-end (273→0 errors)
4dd2fd8e
qjs_v8_compat: deno_napi + deno_runtime now compile under quickjs
eb15d010
qjs_v8_compat + cli: deno binary compiles end-to-end under quickjs
305aacbf
qjs_v8_compat: ContextScope/Symbol fixes — eval no longer panics in d…
08236e36
qjs_v8_compat: fix infinite recursion in GlobalScope for ContextScope
88f45b7d
qjs_v8_compat: track module lifecycle for check_all_modules_evaluated
1e9c24f3
qjs_v8_compat: stash module sources + install QuickJS module loader
87464a2d
qjs_v8_compat: bridge synthetic modules + lazy ESM sources to QuickJS
564c2271
runtime: enable extension transpiler under quickjs feature
b3f81d38
qjs_v8_compat: dedupe JSModuleDef returned by the loader by name
0e4f5f4e
qjs_v8_compat: build.rs applies local QuickJS patches at build time
4412baaa
qjs_v8_compat: slim the QuickJS patch to just cfunc auto-prototype
dc4cf422
qjs_v8_compat: regenerate cfunc-prototype patch as plain git diff
38678a4e
qjs_v8_compat: break node:stream cycle + fix Script::run / get_prototype
a2a5d975
qjs_v8_compat + ext/node: critical string-bleed fix; polyfills now load
31b81a59
qjs_v8_compat: clear stale pending exception before script eval
14c1461d
qjs_v8_compat: clean up debug eprintlns
10744afb
qjs_v8_compat: ReturnValue::set must dup before writing to JS slot
c15ab20c
qjs_v8_compat: drop module-def cache; QuickJS dedupes loaded modules …
85e5d957
qjs_v8_compat: allow EVALUATING in module link assertions
3183a5a6
qjs_v8_compat: stop sweeping all module statuses to Evaluated on firs…
cca8e637
qjs_v8_compat: skip check_all_modules_evaluated assert under quickjs
37ed12cb
qjs_v8_compat: surface module top-level promise rejections
e55336f6
qjs_v8_compat: also surface 'still pending' module promise state
4158ae79
qjs_v8_compat: implement FunctionTemplate-as-real-function so cppgc c…
3f4163e7
qjs_v8_compat+core: precompile every ESM module via JS_Eval(MODULE | …
c18b9596
qjs_v8_compat: mark ESM module Evaluated up-front in evaluate() to br…
a6da49a2
qjs_v8_compat: refactor template/function builders to centralize op-t…
3f69ad96
qjs_v8_compat: track 'bytecode consumed' to skip Module::evaluate re-…
f04489ca
qjs_v8_compat: wire mark_esm_bytecode_consumed into evaluate path; re…
769e1d35
core+qjs_v8_compat: guard lazy_load_esm_module re-eval with esm_bytec…
7401b517
qjs_v8_compat: add EVAL_IN_FLIGHT tracking to detect re-entrant Modul…
686b3383
qjs_v8_compat: also skip lazy_load_esm_module re-evaluate when EVAL_I…
ecb30831
Merge branch 'main' into orch/issue-66
a9c215f6
qjs_v8_compat+core: restore default-V8 build after main merge
74fd2390
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub