This commit is contained in:
2026-02-19 00:47:34 -06:00
parent 19132c1517
commit 3f206d80dd
4 changed files with 299 additions and 222 deletions

View File

@@ -1121,6 +1121,7 @@ struct JSContext {
JSGCRef *last_gc_ref; /* used to reference temporary GC roots (list) */
JSLocalRef *top_local_ref; /* for JS_LOCAL macro - GC updates C locals through pointers */
CCallRoot *c_call_root; /* stack of auto-rooted C call argv arrays */
void *native_state; /* qbe_helpers.c per-actor native runtime state */
int class_count; /* size of class_array and class_proto */
JSClass *class_array;
@@ -1562,7 +1563,7 @@ static inline void set_value (JSContext *ctx, JSValue *pval, JSValue new_val) {
*pval = new_val;
}
int cell_rt_native_active(void);
int cell_rt_native_active(JSContext *ctx);
static inline __exception int js_poll_interrupts (JSContext *ctx) {
if (unlikely (atomic_load_explicit (&ctx->pause_flag, memory_order_relaxed) >= 2)) {
@@ -1659,7 +1660,9 @@ JSValue js_key_from_string (JSContext *ctx, JSValue val);
/* mach.c exports */
JSValue JS_CallRegisterVM(JSContext *ctx, JSCodeRegister *code, JSValue this_obj, int argc, JSValue *argv, JSValue env, JSValue outer_frame);
JSValue js_new_native_function(JSContext *ctx, void *fn_ptr, void *dl_handle, uint16_t nr_slots, int arity, JSValue outer_frame);
JSValue js_new_native_function_with_code(JSContext *ctx, JSValue code_obj, int arity, JSValue outer_frame);
JSFrameRegister *alloc_frame_register(JSContext *ctx, int slot_count);
void cell_rt_free_native_state(JSContext *ctx);
#endif /* QUICKJS_INTERNAL_H */