mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-02 07:43:42 +08:00
Runtime units outside the object core (scr_json.c, scr_js_object.c) read and adjusted SCR_DYN_OBJ entries in place: v.obj.len, v.obj.entries[i] and the 48-byte ScrDynEntry fields. The single object model's generic objects (stage S3) change that storage, so these units now go through own-property accessors in scr_dyn.h: - scr_dyn_obj_count, scr_dyn_obj_key_at, scr_dyn_obj_value_at and scr_dyn_obj_prop_at (a ScrDynProp view: key, value, getter, setter and attributes) walk the properties in creation order; - scr_dyn_obj_index_of finds one by key; - scr_dyn_obj_set_attrs_at restricts a member a builtin object just added; - scr_dyn_own_symbol_prop and scr_dyn_copy_prop_at wrap the symbol-entry and copy primitives. The accessors are inline over today's entries, so behavior is unchanged. 21 units move (inspect, assert, util compare, console, http, http2, fetch, tls, fs, os, lib, array, message, publish, region, symbol, worker events, handle properties, builtin values, declaration adoption). A package test keeps entry storage reads inside the core. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>