ReviewOS

zig-utils/zig-js

Bridge: implement the Objective-C JavaScriptCore embedding surface

#138
Closed chris opened this 9 days ago ·
9 days ago

Parent: #134 Depends on: #135 and #137

Provide a native Objective-C bridge for the declared macOS compatibility target.

Acceptance:

  • Inventory the targeted JSContext, JSValue, JSVirtualMachine, JSManagedValue, JSExport, and block/callable surface.
  • Implement object/value conversion, identity preservation, exceptions, subscripting, calls, construction, and promises.
  • Implement managed references and VM/context lifetime semantics without leaks or premature collection.
  • Cover Objective-C blocks, exported protocols, selectors, dates, arrays, dictionaries, typed arrays, and errors.
  • Add Objective-C compile-link-runtime and autorelease/lifetime stress tests.
  • Version-gate unsupported target revisions explicitly.

Child issue map:

  • #157 — pinned Objective-C inventory and build gate
  • #158 — JSContext, JSVirtualMachine, and JSValue behavior
  • #159 — managed references, identity, and lifetime semantics
    • #161 — collection epochs and arena reachability
  • #160 — JSExport, blocks, interop, and completion evidence
9 days ago

Objective-C bridge target completed through f29ca38. All children #157, #158, #159/#161, and #160 are closed. The macOS SDK 27.0 build 26A5368g inventory is 108/108; the full evidence matrix passes headers, compile-link-runtime, 18-row system-JSC parity (360c1ad3ccf51d6b), forced-GC and 200-cycle autorelease/lifetime stress, deterministic fault rollback, ASan+UBSan, and Apple leaks at 0 bytes.

Sign in to comment on this issue.