Parents: #163 , #164
Depends on: #166 , #172
Implement the shared opaque JSCell/JSString operations on the context-owned JSC64 handle boundary.
Acceptance:
Export exact JSC__JSValue__asString, JSC__JSString__eql, JSC__JSString__is8Bit, JSC__JSString__length, JSC__JSString__toObject, JSC__JSCell__getObject, and JSC__JSCell__toObject signatures.
Downcast only real context-owned string cells and reject immediates/non-strings safely.
Report JavaScript UTF-16 code-unit length exactly for ASCII, Latin-1, BMP, astral, and lone-surrogate/WTF-8 strings.
Match JSC 8-bit string eligibility and value equality across distinct string cells.
Return objects only for actual object cells from getObject; box String/Symbol/BigInt cells correctly through toObject and preserve object identity.
Reject foreign-context coercion safely.
Cover all signatures and semantic boundaries in the compile-link-runtime fixture.
Update both inventories and README/API documentation without changing public/extension counts.
String iteration and ZigString/Bun.String output layouts remain separate follow-up work.
Parents: #163, #164
Depends on: #166, #172
Implement the shared opaque JSCell/JSString operations on the context-owned JSC64 handle boundary.
Acceptance:
JSC__JSValue__asString,JSC__JSString__eql,JSC__JSString__is8Bit,JSC__JSString__length,JSC__JSString__toObject,JSC__JSCell__getObject, andJSC__JSCell__toObjectsignatures.getObject; box String/Symbol/BigInt cells correctly throughtoObjectand preserve object identity.String iteration and
ZigString/Bun.Stringoutput layouts remain separate follow-up work.