ReviewOS

zig-utils/zig-js

C API: implement context groups, global metadata, and syntax checking

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

Parents: #135, #134 Inspector dependency: #139

Complete the JSContextRef.h and JSBase.h functions not already implemented.

Acceptance:

  • Implement JSContextGroup create/retain/release with exact shared-VM lifetime semantics.
  • Implement JSGlobalContextCreateInGroup and JSContextGetGroup/JSGlobalContext.
  • Implement global context name copy/set with correct string ownership.
  • Implement JSCheckScriptSyntax with source URL, starting line, and exception diagnostics matching evaluation parsing.
  • Implement JSGlobalContextIsInspectable/SetInspectable backed by real session behavior.
  • Add C compile-link-runtime coverage, wrong-group/context checks, and teardown/leak tests.

Completion evidence

  • a2524ae implemented global-context lookup, exact UTF-16 context names, and syntax-only parsing with evaluation-identical diagnostics.
  • 5e2820d implemented shared-arena VM groups with distinct realms, same-group identity/exchange, context-retained lifetime, deterministic wrong-group rejection, and global JSClass lifecycle.
  • 71bc743 implemented opt-in public inspectability backed by versioned concurrent runtime sessions and deterministic detach/teardown.
  • Focused Zig coverage, real C/C++ hosts, and the system-JSC differential pass.
  • The pinned macOS 27.0 public inventory is 117/117 complete with zero pending; the combined differential is 34/34 rows (a8ecd5e83f9f35ca).
9 days ago

Completed across a2524ae, 5e2820d, and 71bc743. Context groups, realm identity/lifetime, global metadata/class behavior, syntax checking, and inspectability are implemented with focused leak/teardown tests and system-JSC differential evidence.

Sign in to comment on this issue.