@scriptc/cli-darwin-arm64 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/THIRD_PARTY_NOTICES +1 -1
- package/dist/bin/scriptc +0 -0
- package/dist/bin/scriptc.json +1 -1
- package/dist/lib/declarations/scriptc-node-fallback.d.ts +57 -30
- package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
- package/dist/lib/llvm/package.json +1 -1
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bigint_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_crypto_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dc.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dyn_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_ffi.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_ffi_queue.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_epoll.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_kqueue.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_wsapoll.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_path.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_qs.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_test.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_tls_ca.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_url_params.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util_style.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_watch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_mailbox.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_message.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_worker.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_worker_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bigint_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_crypto_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dc.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dyn_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_ffi.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_ffi_queue.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_epoll.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_kqueue.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_wsapoll.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_path.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_qs.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_test.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_tls_ca.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_url_params.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util_style.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_watch.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_mailbox.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_message.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_worker.o +0 -0
- package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_worker_events.o +0 -0
- package/dist/lib/runtime-darwin-arm64/package.json +1 -1
- package/dist/lib/runtime-darwin-arm64/runtime-pack.json +3300 -772
- package/dist/lib/runtime-sources/package.json +1 -1
- package/dist/lib/runtime-sources/src/scr_array.c +212 -40
- package/dist/lib/runtime-sources/src/scr_assert.c +3 -3
- package/dist/lib/runtime-sources/src/scr_async.c +401 -71
- package/dist/lib/runtime-sources/src/scr_async_dyn.c +30 -30
- package/dist/lib/runtime-sources/src/scr_bytes.c +50 -5
- package/dist/lib/runtime-sources/src/scr_bytes_io.c +47 -32
- package/dist/lib/runtime-sources/src/scr_child.c +48 -30
- package/dist/lib/runtime-sources/src/scr_closure.c +21 -11
- package/dist/lib/runtime-sources/src/scr_console.c +27 -5
- package/dist/lib/runtime-sources/src/scr_context.c +167 -0
- package/dist/lib/runtime-sources/src/scr_context.test.c +118 -0
- package/dist/lib/runtime-sources/src/scr_context.test.ts +47 -0
- package/dist/lib/runtime-sources/src/scr_copying.c +1 -0
- package/dist/lib/runtime-sources/src/scr_cycle.c +112 -12
- package/dist/lib/runtime-sources/src/scr_dc.c +8 -8
- package/dist/lib/runtime-sources/src/scr_dgram.c +10 -7
- package/dist/lib/runtime-sources/src/scr_error.c +26 -14
- package/dist/lib/runtime-sources/src/scr_events.c +45 -31
- package/dist/lib/runtime-sources/src/scr_events_emitter.c +34 -1
- package/dist/lib/runtime-sources/src/scr_exception.c +26 -7
- package/dist/lib/runtime-sources/src/scr_fetch.c +23 -20
- package/dist/lib/runtime-sources/src/scr_fetch_curl.c +1 -1
- package/dist/lib/runtime-sources/src/scr_ffi.c +3 -3
- package/dist/lib/runtime-sources/src/scr_file_handle.c +1 -0
- package/dist/lib/runtime-sources/src/scr_http.c +20 -16
- package/dist/lib/runtime-sources/src/scr_http2.c +10 -8
- package/dist/lib/runtime-sources/src/scr_inspect.c +1 -0
- package/dist/lib/runtime-sources/src/scr_island.c +1 -1
- package/dist/lib/runtime-sources/src/scr_json.c +179 -45
- package/dist/lib/runtime-sources/src/scr_json.test.c +16 -0
- package/dist/lib/runtime-sources/src/scr_json.test.ts +1 -0
- package/dist/lib/runtime-sources/src/scr_key.h +28 -4
- package/dist/lib/runtime-sources/src/scr_lib.c +124 -63
- package/dist/lib/runtime-sources/src/scr_mailbox.c +233 -0
- package/dist/lib/runtime-sources/src/scr_mailbox.h +28 -0
- package/dist/lib/runtime-sources/src/scr_mailbox.test.c +86 -0
- package/dist/lib/runtime-sources/src/scr_mailbox.test.ts +46 -0
- package/dist/lib/runtime-sources/src/scr_map.c +195 -46
- package/dist/lib/runtime-sources/src/scr_message.c +443 -0
- package/dist/lib/runtime-sources/src/scr_message.h +14 -0
- package/dist/lib/runtime-sources/src/scr_message.test.c +152 -0
- package/dist/lib/runtime-sources/src/scr_message.test.ts +44 -0
- package/dist/lib/runtime-sources/src/scr_net.c +14 -12
- package/dist/lib/runtime-sources/src/scr_number.c +34 -0
- package/dist/lib/runtime-sources/src/scr_object.c +9 -4
- package/dist/lib/runtime-sources/src/scr_path.c +1 -1
- package/dist/lib/runtime-sources/src/scr_readline.c +8 -8
- package/dist/lib/runtime-sources/src/scr_regex.c +113 -0
- package/dist/lib/runtime-sources/src/scr_runtime.h +170 -28
- package/dist/lib/runtime-sources/src/scr_shared.c +280 -0
- package/dist/lib/runtime-sources/src/scr_shared.test.c +113 -0
- package/dist/lib/runtime-sources/src/scr_shared.test.ts +45 -0
- package/dist/lib/runtime-sources/src/scr_stream.c +9 -9
- package/dist/lib/runtime-sources/src/scr_string.c +224 -113
- package/dist/lib/runtime-sources/src/scr_test.c +8 -8
- package/dist/lib/runtime-sources/src/scr_tls.c +12 -12
- package/dist/lib/runtime-sources/src/scr_tls_ca.c +34 -12
- package/dist/lib/runtime-sources/src/scr_union.c +10 -5
- package/dist/lib/runtime-sources/src/scr_util_compare.c +1 -0
- package/dist/lib/runtime-sources/src/scr_util_style.c +11 -11
- package/dist/lib/runtime-sources/src/scr_watch.c +16 -6
- package/dist/lib/runtime-sources/src/scr_worker.c +232 -0
- package/dist/lib/runtime-sources/src/scr_worker.h +42 -0
- package/dist/lib/runtime-sources/src/scr_worker.test.c +115 -0
- package/dist/lib/runtime-sources/src/scr_worker.test.ts +49 -0
- package/dist/lib/runtime-sources/src/scr_worker_events.c +443 -0
- package/dist/lib/runtime-sources/src/scr_zlib.c +6 -0
- package/package.json +1 -1
|
@@ -35,7 +35,7 @@ char *strcasestr(const char *hay, const char *needle);
|
|
|
35
35
|
void arc4random_buf(void *buf, size_t n);
|
|
36
36
|
#endif
|
|
37
37
|
|
|
38
|
-
/* ──
|
|
38
|
+
/* ── runtime instance state ─────────────────────────────────────────────
|
|
39
39
|
* Archives built under the profile's abi.instance_per_thread compile every
|
|
40
40
|
* TU with -DSCR_THREAD_INSTANCES, and SCR_TL moves each unit's mutable
|
|
41
41
|
* state — and the emitted program's globals — into thread-local storage.
|
|
@@ -44,10 +44,10 @@ void arc4random_buf(void *buf, size_t n);
|
|
|
44
44
|
* registration, poison flag, and program state. The instance's lifetime is
|
|
45
45
|
* the thread's; the one-thread-per-instance contract (an instance is never
|
|
46
46
|
* entered from two threads) is unchanged — this mode adds instances, not
|
|
47
|
-
* thread awareness.
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
#if defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)
|
|
47
|
+
* thread awareness. Worker executables use the same isolation for their
|
|
48
|
+
* collectors, caches and scheduler state. Expands to nothing for ordinary
|
|
49
|
+
* executables and classic libraries. Immutable tables stay shared. */
|
|
50
|
+
#if (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)) || defined(SCR_WORKERS)
|
|
51
51
|
#define SCR_TL _Thread_local
|
|
52
52
|
#else
|
|
53
53
|
#define SCR_TL
|
|
@@ -62,7 +62,8 @@ void scr_init(void);
|
|
|
62
62
|
/* Program objects emitted by the bundled LLVM helper reference this symbol.
|
|
63
63
|
* Its versioned spelling makes a mismatched manual runtime link fail before
|
|
64
64
|
* the program can start. */
|
|
65
|
-
void
|
|
65
|
+
void scr_runtime_abi_v7(void);
|
|
66
|
+
void scr_runtime_workers_v7(void);
|
|
66
67
|
|
|
67
68
|
/* ── the trap funnel (scr_console.c; scr_library.c under -DSCR_LIB) ──────
|
|
68
69
|
* Every unrecoverable runtime trap — OOM, semantic range traps, internal-
|
|
@@ -276,10 +277,45 @@ void scr_library_str_out(ScrStr *s, const uint8_t **out, size_t *out_len);
|
|
|
276
277
|
void scr_library_bytes_out(ScrBytes *b, const uint8_t **out, size_t *out_len);
|
|
277
278
|
|
|
278
279
|
#define scr_atexit(fn) scr_library_register_reset(fn)
|
|
280
|
+
#elif defined(SCR_WORKERS)
|
|
281
|
+
/* Executable workers drain their own cleanup stack before their TLS dies.
|
|
282
|
+
* Registering their callbacks with libc would execute them on the process
|
|
283
|
+
* exit thread against a different runtime instance. */
|
|
284
|
+
int scr_context_atexit(void (*fn)(void));
|
|
285
|
+
void scr_context_cleanup(void);
|
|
286
|
+
void scr_context_enter(uint64_t thread_id);
|
|
287
|
+
uint64_t scr_context_thread_id(void);
|
|
288
|
+
void scr_context_stop_flag(const void *flag);
|
|
289
|
+
void scr_context_stop(int code);
|
|
290
|
+
bool scr_context_stopping(void);
|
|
291
|
+
bool scr_context_checkpoint(void);
|
|
292
|
+
void scr_loop_context_shutdown(void);
|
|
293
|
+
extern SCR_TL void (*scr_context_report_error)(void);
|
|
294
|
+
typedef struct ScrContextEnv ScrContextEnv;
|
|
295
|
+
ScrContextEnv *scr_context_env_capture(void);
|
|
296
|
+
void scr_context_env_free(ScrContextEnv *environment);
|
|
297
|
+
void scr_context_env_enter(ScrContextEnv *environment);
|
|
298
|
+
bool scr_context_env_set(const char *name, const char *value);
|
|
299
|
+
const char *scr_context_getenv(const char *name);
|
|
300
|
+
struct ScrArr *scr_context_env_pairs(void);
|
|
301
|
+
#define scr_atexit(fn) scr_context_atexit(fn)
|
|
279
302
|
#else
|
|
280
303
|
#define scr_atexit(fn) atexit(fn)
|
|
281
304
|
#endif /* SCR_LIB */
|
|
282
305
|
|
|
306
|
+
/* Also used by ordinary event-loop builds, where this always returns true. */
|
|
307
|
+
bool scr_context_is_main(void);
|
|
308
|
+
double scr_context_thread_number(void);
|
|
309
|
+
double scr_worker_root(void);
|
|
310
|
+
int scr_worker_argc(void);
|
|
311
|
+
char **scr_worker_argv(void);
|
|
312
|
+
|
|
313
|
+
#ifdef SCR_WORKERS
|
|
314
|
+
#define scr_getenv(name) scr_context_getenv(name)
|
|
315
|
+
#else
|
|
316
|
+
#define scr_getenv(name) getenv(name)
|
|
317
|
+
#endif
|
|
318
|
+
|
|
283
319
|
/* ── cycle collection (scr_cycle.c) ───────────────────────────────────
|
|
284
320
|
* Reference counting alone cannot free cycles, so every object that can
|
|
285
321
|
* participate in one — capture boxes, heap closures, unions, promises, and
|
|
@@ -380,6 +416,12 @@ static inline ScrCycHdr *scr_cyc_hdr(void *obj) { return (ScrCycHdr *)obj - 1; }
|
|
|
380
416
|
void *scr_cyc_alloc(size_t size, ScrTraceFn trace, ScrCycFreeFn free_fn);
|
|
381
417
|
void scr_cyc_free(void *obj); /* frees the block, header included */
|
|
382
418
|
|
|
419
|
+
/* Dispose an object whose reference count already reached zero. The caller
|
|
420
|
+
* removes its cycle candidate first. Nested disposals keep bounded stack
|
|
421
|
+
* depth; deeper objects wait until the outer disposal drains the worklist.
|
|
422
|
+
* The callback owns the object and must release its children and free it. */
|
|
423
|
+
void scr_rc_destroy(void *obj, void (*destroy)(void *));
|
|
424
|
+
|
|
383
425
|
/* RC hooks for cycle-headered types. on_release: rc was decremented and
|
|
384
426
|
* stayed above zero — buffer the object as a possible cycle root (may run
|
|
385
427
|
* a collection when the buffer crosses the threshold; the caller must not
|
|
@@ -397,6 +439,7 @@ static inline void scr_cyc_mark_live(void *obj) {
|
|
|
397
439
|
* after and wants nothing reclaimable left), and it costs a walk of the
|
|
398
440
|
* live heap — do not put it on a per-turn path. */
|
|
399
441
|
void scr_collect_cycles(void);
|
|
442
|
+
void scr_cyc_context_cleanup(void);
|
|
400
443
|
|
|
401
444
|
/* One pass on the normal generational schedule, for callers that reach a
|
|
402
445
|
* natural collection point rather than a threshold (the event loop between
|
|
@@ -765,6 +808,16 @@ ScrStr *scr_str_slice(ScrStr *s, double start, double end);
|
|
|
765
808
|
/* substring: clamp-and-swap (negatives clamp to 0, start > end swaps). */
|
|
766
809
|
ScrStr *scr_str_substring(ScrStr *s, double start, double end);
|
|
767
810
|
|
|
811
|
+
/* Scalar-only local slices retain their original owner without copying.
|
|
812
|
+
* Bounds and split-surrogate replacements are snapshotted at construction. */
|
|
813
|
+
typedef struct ScrStringSlice {
|
|
814
|
+
size_t start, length;
|
|
815
|
+
uint32_t split;
|
|
816
|
+
} ScrStringSlice;
|
|
817
|
+
void scr_str_slice_range(ScrStr *s, double start, double end, bool substring,
|
|
818
|
+
ScrStringSlice *out);
|
|
819
|
+
double scr_str_slice_char_code_at(ScrStr *s, const ScrStringSlice *range, double index);
|
|
820
|
+
|
|
768
821
|
/* repeat(count): count < 0 or Infinity is a JS RangeError; scriptc has no
|
|
769
822
|
* exceptions, so it prints "scriptc: RangeError: Invalid count value" to
|
|
770
823
|
* stderr and abort()s. Returns +1. */
|
|
@@ -805,6 +858,25 @@ ScrStr *scr_str_trim_end(ScrStr *s);
|
|
|
805
858
|
struct ScrArr;
|
|
806
859
|
struct ScrArr *scr_str_split(ScrStr *s, ScrStr *sep);
|
|
807
860
|
struct ScrArr *scr_str_split_limit(ScrStr *s, ScrStr *sep, double limit);
|
|
861
|
+
/* Internal dense split traversal. The cursor borrows input strings, returns
|
|
862
|
+
* one owned piece per step, and uses NULL only for exhaustion. Its layout
|
|
863
|
+
* is shared with generated stack storage, including wasm32. */
|
|
864
|
+
typedef struct ScrSplitCursor {
|
|
865
|
+
size_t offset;
|
|
866
|
+
uint32_t remaining;
|
|
867
|
+
uint32_t pending_unit;
|
|
868
|
+
} ScrSplitCursor;
|
|
869
|
+
void scr_str_split_cursor_init(ScrSplitCursor *cursor, uint32_t limit);
|
|
870
|
+
/* Optional scratch is a separately owned, NULL-initialized string slot.
|
|
871
|
+
* A piece that has not escaped can reuse it after the preceding yield is
|
|
872
|
+
* released. The caller releases the slot on every exit; NULL disables reuse. */
|
|
873
|
+
ScrStr *scr_str_split_cursor_next(ScrStr *s, ScrStr *sep, ScrSplitCursor *cursor,
|
|
874
|
+
ScrStr **scratch);
|
|
875
|
+
/* Borrowed split bytes remain valid while the source snapshot is owned.
|
|
876
|
+
* Materialization returns +1 and uses the same optional scratch contract. */
|
|
877
|
+
const char *scr_str_split_cursor_span(ScrStr *s, ScrStr *sep, ScrSplitCursor *cursor,
|
|
878
|
+
size_t *length);
|
|
879
|
+
ScrStr *scr_str_split_materialize(const char *bytes, size_t length, ScrStr **scratch);
|
|
808
880
|
|
|
809
881
|
/* padStart(maxLength, fill)/padEnd — ECMA StringPad, UTF-16 unit counts.
|
|
810
882
|
* Target at or below the length (or empty fill) returns the receiver
|
|
@@ -1144,6 +1216,7 @@ double scr_arr_get_number(const ScrArr *a, double i);
|
|
|
1144
1216
|
bool scr_arr_index_eq(const ScrArr *a, double i, const ScrArr *b, double j);
|
|
1145
1217
|
bool scr_arr_get_bool(ScrArr *a, double i); /* trap missing/hole */
|
|
1146
1218
|
void *scr_arr_get_ref(ScrArr *a, double i); /* trap missing/hole; +1 */
|
|
1219
|
+
void *scr_arr_borrow_ref(ScrArr *a, double i); /* same checks; borrowed */
|
|
1147
1220
|
/* Borrow a non-null reference element, or NULL for a hole/undefined/missing
|
|
1148
1221
|
* property. Keep the array alive and retain before removing its element.
|
|
1149
1222
|
* This read does not invoke retain callbacks or mutate runtime state. */
|
|
@@ -1196,6 +1269,8 @@ double scr_arr_unshift_bool(ScrArr *a, bool v);
|
|
|
1196
1269
|
double scr_arr_unshift_ref(ScrArr *a, void *v);
|
|
1197
1270
|
double scr_arr_unshift_spread(ScrArr *a, const ScrArr *src);
|
|
1198
1271
|
ScrArr *scr_arr_reverse(ScrArr *a);
|
|
1272
|
+
/* Default primitive String ordering; stable, borrowed receiver, owned result. */
|
|
1273
|
+
ScrArr *scr_arr_sort_primitive(ScrArr *a, bool copy);
|
|
1199
1274
|
|
|
1200
1275
|
/* pop traps on an empty array; _ref transfers ownership out (+1 to the
|
|
1201
1276
|
* caller, no release). */
|
|
@@ -1406,7 +1481,7 @@ typedef struct ScrMap {
|
|
|
1406
1481
|
size_t ecap; /* entries capacity */
|
|
1407
1482
|
ScrMapEntry *entries;
|
|
1408
1483
|
size_t nbuckets; /* zero for small linear maps; otherwise power of two >= 2 * nentries */
|
|
1409
|
-
|
|
1484
|
+
void *buckets; /* compact tagged indices, or size_t indices for large tables */
|
|
1410
1485
|
size_t iter_depth; /* > 0: an iteration is active — no compaction */
|
|
1411
1486
|
const ScrMapDynOps *dyn_ops;
|
|
1412
1487
|
const uint8_t *union_keys; /* immutable key-kind table indexed by union tag */
|
|
@@ -1414,6 +1489,12 @@ typedef struct ScrMap {
|
|
|
1414
1489
|
|
|
1415
1490
|
/* Called once on a fresh UNION_VALUE collection, before its first insert. */
|
|
1416
1491
|
void scr_map_union_keys(ScrMap *map, const uint8_t *kinds);
|
|
1492
|
+
/* String-key lookups borrow an exact byte span. Reference results return
|
|
1493
|
+
* +1; scalar outputs are written only on a hit, like the string getters. */
|
|
1494
|
+
bool scr_map_get_span_f64(const ScrMap *m, const char *bytes, size_t length, double *out);
|
|
1495
|
+
bool scr_map_get_span_bool(const ScrMap *m, const char *bytes, size_t length, bool *out);
|
|
1496
|
+
void *scr_map_get_span_ref(const ScrMap *m, const char *bytes, size_t length);
|
|
1497
|
+
|
|
1417
1498
|
/* Fresh shallow copies with compact storage and independent mutation.
|
|
1418
1499
|
* keys_only selects a Set; checked views materialize their boxed values. */
|
|
1419
1500
|
ScrMap *scr_map_clone(const ScrMap *source, bool keys_only);
|
|
@@ -1840,6 +1921,9 @@ extern SCR_TL ScrVt scr_emitter_vt; /* main() stamps pre/post */
|
|
|
1840
1921
|
extern SCR_TL double scr_emitter_default_max;
|
|
1841
1922
|
|
|
1842
1923
|
ScrEmitter *scr_emitter_new(void); /* +1, collector-headered */
|
|
1924
|
+
/* Internal owner hook; observes listener presence without running script. */
|
|
1925
|
+
void scr_emitter_observe(ScrEmitter *em,
|
|
1926
|
+
void (*observe)(void *, const ScrStr *, bool), void *context);
|
|
1843
1927
|
void scr_emitter_init(void *obj); /* super() into the prefix (no-op today) */
|
|
1844
1928
|
ScrEmitter *scr_emitter_retain(ScrEmitter *em);
|
|
1845
1929
|
void scr_emitter_release(ScrEmitter *em); /* dispatches through em->vt */
|
|
@@ -1917,6 +2001,7 @@ ScrEmitter *scr_emitter_remove_all(ScrEmitter *em, ScrStr *name, bool all);
|
|
|
1917
2001
|
* emit('error', err): no listener ⇒ THROWS err (borrowed; +1 taken). */
|
|
1918
2002
|
bool scr_emitter_emit(ScrEmitter *em, ScrStr *name, ...);
|
|
1919
2003
|
bool scr_emitter_emit_flex(ScrEmitter *em, ScrStr *name, ScrDyn *const *args, size_t argc);
|
|
2004
|
+
bool scr_emitter_emit_error_flex(ScrEmitter *em, ScrDyn *error);
|
|
1920
2005
|
bool scr_emitter_emit_error(ScrEmitter *em, ScrStr *name, ScrError *err);
|
|
1921
2006
|
double scr_emitter_listener_count(ScrEmitter *em, ScrStr *name);
|
|
1922
2007
|
double scr_emitter_listener_count_fn(ScrEmitter *em, ScrStr *name, ScrClosure *fn);
|
|
@@ -1938,7 +2023,7 @@ bool scr_emitter_has(ScrEmitter *em, const char *name);
|
|
|
1938
2023
|
* the END of scr_emitter_on with the emitter and the event name, so the
|
|
1939
2024
|
* stream unit can start flowing on the first 'data' listener. NULL when
|
|
1940
2025
|
* the stream unit is not linked; emitter behavior is byte-identical. */
|
|
1941
|
-
extern void (*scr_emitter_on_hook)(ScrEmitter *em, ScrStr *name);
|
|
2026
|
+
extern SCR_TL void (*scr_emitter_on_hook)(ScrEmitter *em, ScrStr *name);
|
|
1942
2027
|
|
|
1943
2028
|
/* ── node:stream (scr_stream.c, link-gated by moduleUsesStream) ───────
|
|
1944
2029
|
* The runtime-provided stream classes (Readable/Writable/Duplex/
|
|
@@ -1979,7 +2064,7 @@ typedef struct ScrStream {
|
|
|
1979
2064
|
ScrStreamState *st;
|
|
1980
2065
|
} ScrStream;
|
|
1981
2066
|
|
|
1982
|
-
extern ScrVt scr_readable_vt, scr_writable_vt, scr_duplex_vt,
|
|
2067
|
+
extern SCR_TL ScrVt scr_readable_vt, scr_writable_vt, scr_duplex_vt,
|
|
1983
2068
|
scr_transform_vt, scr_passthrough_vt; /* main() stamps pre/post */
|
|
1984
2069
|
|
|
1985
2070
|
/* Compiler-emitted option-callback invoke adapters (the leading-`this`
|
|
@@ -2290,6 +2375,9 @@ typedef enum {
|
|
|
2290
2375
|
* functions, and checked-dynamic primitives). The payload uses the
|
|
2291
2376
|
* same ownership as REF. */
|
|
2292
2377
|
SCR_EXC_PRIMITIVE_REF,
|
|
2378
|
+
/* Noncatchable context shutdown. Owns no payload; generated unwinding
|
|
2379
|
+
* releases locals while bypassing user catch and finally handlers. */
|
|
2380
|
+
SCR_EXC_TERMINATE,
|
|
2293
2381
|
} ScrExcKind;
|
|
2294
2382
|
|
|
2295
2383
|
/* One cell per fiber (JS has one exception in flight per execution
|
|
@@ -2407,7 +2495,7 @@ ScrDyn *scr_caught_to_dyn(const ScrCaught *c);
|
|
|
2407
2495
|
void scr_exc_print_uncaught(void);
|
|
2408
2496
|
/* Optional native process exception registry. Hook returns 1 when handled,
|
|
2409
2497
|
* 0 when unhandled, and -1 when a handler itself threw (Node exit 7). */
|
|
2410
|
-
extern int (*scr_uncaught_exception_hook)(bool from_promise);
|
|
2498
|
+
extern SCR_TL int (*scr_uncaught_exception_hook)(bool from_promise);
|
|
2411
2499
|
bool scr_exc_handle_uncaught(bool from_promise);
|
|
2412
2500
|
void scr_process_on_uncaught_exception(ScrDyn *fn, bool once, bool monitor);
|
|
2413
2501
|
void scr_process_off_uncaught_exception(ScrDyn *fn, bool monitor);
|
|
@@ -2469,7 +2557,7 @@ ScrStr *scr_process_cwd(void); /* +1 fresh (getcwd) */
|
|
|
2469
2557
|
* internal stdio formatting buffer never delays live output. */
|
|
2470
2558
|
bool scr_stdio_write(int fd, const void *data, size_t len);
|
|
2471
2559
|
int scr_stdio_write_raw(int fd, const void *data, size_t len);
|
|
2472
|
-
extern bool (*scr_stdio_write_hook)(int fd, const void *data, size_t len);
|
|
2560
|
+
extern SCR_TL bool (*scr_stdio_write_hook)(int fd, const void *data, size_t len);
|
|
2473
2561
|
/* process.stdout/.stderr .write — raw bytes (no newline or formatting; data
|
|
2474
2562
|
* borrowed), promptly visible and ordered with console output. Constantly
|
|
2475
2563
|
* true (the synchronous runtime never queues backpressure). */
|
|
@@ -2632,15 +2720,11 @@ void scr_fs_write_file_mode(ScrStr *path, ScrStr *data, double mode);
|
|
|
2632
2720
|
void scr_fs_mkdir_mode(ScrStr *path, double mode);
|
|
2633
2721
|
void scr_fs_mkdir_recursive_mode(ScrStr *path, double mode);
|
|
2634
2722
|
|
|
2635
|
-
/*
|
|
2636
|
-
|
|
2637
|
-
*
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
* requires the timeout argument; an infinite wait would be a certain
|
|
2641
|
-
* deadlock). Out-of-range indices trap like every bytes access. */
|
|
2642
|
-
typedef struct ScrBytes ScrBytes; /* full definition below (C11 repeat) */
|
|
2643
|
-
ScrStr *scr_atomics_wait(ScrBytes *arr, double idx, double expected, double timeout_ms);
|
|
2723
|
+
/* Sequentially consistent integer operations and shared Int32 wait queues. */
|
|
2724
|
+
typedef struct ScrBytes ScrBytes;
|
|
2725
|
+
ScrStr *scr_atomics_wait(ScrBytes *, double, double, double);
|
|
2726
|
+
double scr_atomics_notify(ScrBytes *, double, double);
|
|
2727
|
+
double scr_atomics_op(ScrBytes *, double, double, double, double);
|
|
2644
2728
|
|
|
2645
2729
|
/* isatty(3) over an fd (0/1/2): a real boolean — false where Node's
|
|
2646
2730
|
* non-TTY streams expose undefined (SEMANTICS.md). stdin_destroy is a
|
|
@@ -3665,6 +3749,9 @@ typedef enum {
|
|
|
3665
3749
|
SCR_DYNH_CONSOLE, /* stored global console value */
|
|
3666
3750
|
SCR_DYNH_SEARCH_PARAMS, /* live WHATWG URLSearchParams */
|
|
3667
3751
|
SCR_DYNH_FETCH_REQUEST,
|
|
3752
|
+
SCR_DYNH_WORKER,
|
|
3753
|
+
SCR_DYNH_MESSAGE_PORT,
|
|
3754
|
+
SCR_DYNH_SHARED_ARRAY_BUFFER,
|
|
3668
3755
|
SCR_DYNH_COUNT,
|
|
3669
3756
|
} ScrDynHandleTag;
|
|
3670
3757
|
|
|
@@ -4117,6 +4204,7 @@ ScrStr *scr_dyn_string_coerce(const ScrDyn *d);
|
|
|
4117
4204
|
* called, their throws propagating) — the WHATWG USVString conversions.
|
|
4118
4205
|
* Borrows; +1 or NULL with the exception pending. */
|
|
4119
4206
|
ScrStr *scr_dyn_string_coerce_js(const ScrDyn *d);
|
|
4207
|
+
ScrStr *scr_regex_replace_callback(ScrStr *subject, ScrRegex *regex, ScrDyn *callback, bool all);
|
|
4120
4208
|
bool scr_dyn_number_coerce_js(const ScrDyn *d, double *out);
|
|
4121
4209
|
/* Direct-return ABI wrapper for compiler libCalls: JS ToNumber, or NaN
|
|
4122
4210
|
* with the exception pending when an object hook throws/refuses. */
|
|
@@ -4341,7 +4429,7 @@ ScrDyn *scr_dyn_new_promise(ScrPromise *p); /* scr_async_dyn.c (gated) */
|
|
|
4341
4429
|
/* The allocator view the gated boxes use; installs the release arm's
|
|
4342
4430
|
* promise-release edge (runtime-internal). */
|
|
4343
4431
|
ScrDyn *scr_dyn_alloc_promise(void (*release_fn)(ScrPromise *p));
|
|
4344
|
-
extern void (*scr_dyn_promise_release_fn)(ScrPromise *p);
|
|
4432
|
+
extern SCR_TL void (*scr_dyn_promise_release_fn)(ScrPromise *p);
|
|
4345
4433
|
ScrDyn *scr_dyn_new_promise_adapting(ScrPromise *src,
|
|
4346
4434
|
void (*adapt)(ScrPromise *dst, ScrPromise *src));
|
|
4347
4435
|
/* BORROWED peek at the boxed promise; NULL when d is not a promise box. */
|
|
@@ -4583,6 +4671,8 @@ void scr_jb_puts(ScrJsonBuf *b, const char *s);
|
|
|
4583
4671
|
/* JS JSON.stringify number rules: NaN/±Infinity → null, -0 → 0, else
|
|
4584
4672
|
* shortest-roundtrip via scr_f64_to_str. */
|
|
4585
4673
|
void scr_jb_put_f64(ScrJsonBuf *b, double v);
|
|
4674
|
+
/* Append String(number), including NaN/Infinity, without a temporary string. */
|
|
4675
|
+
void scr_jb_put_number(ScrJsonBuf *b, double v);
|
|
4586
4676
|
/* Quoted + escaped JSON string: \" \\ \n \r \t \b \f, other control chars
|
|
4587
4677
|
* as \u00XX, everything else (UTF-8 included) verbatim — exactly the JS
|
|
4588
4678
|
* JSON.stringify escape set for well-formed strings. */
|
|
@@ -4598,6 +4688,10 @@ void scr_dyn_isl_tostr_buf(ScrJsonBuf *b, const ScrDyn *d);
|
|
|
4598
4688
|
* DROP, array slots holding undefined print null (exactly Node). */
|
|
4599
4689
|
void scr_jb_put_dyn(ScrJsonBuf *b, const ScrDyn *d);
|
|
4600
4690
|
ScrStr *scr_jb_finish(ScrJsonBuf *b); /* returns +1; frees the buffer */
|
|
4691
|
+
/* Reformat compiler-produced compact JSON with an already resolved gap.
|
|
4692
|
+
* Borrows both inputs; gap_len is a byte length, including embedded NUL.
|
|
4693
|
+
* Returns a new owned string, or retains compact when the gap is empty. */
|
|
4694
|
+
ScrStr *scr_json_indent(const ScrStr *compact, const char *gap, size_t gap_len);
|
|
4601
4695
|
|
|
4602
4696
|
void *scr_dyn_retain_v(void *d);
|
|
4603
4697
|
void scr_dyn_release_v(void *d);
|
|
@@ -4710,7 +4804,13 @@ typedef struct ScrAlsCtx {
|
|
|
4710
4804
|
ScrAlsEntry entries[]; /* flexible */
|
|
4711
4805
|
} ScrAlsCtx;
|
|
4712
4806
|
/* Runtime-internal (the fiber machinery's always-linked core). */
|
|
4713
|
-
extern ScrAlsCtx **scr_als_active;
|
|
4807
|
+
extern SCR_TL ScrAlsCtx **scr_als_active;
|
|
4808
|
+
#ifdef SCR_WORKERS
|
|
4809
|
+
ScrAlsCtx **scr_als_slot(void);
|
|
4810
|
+
#define SCR_ALS_SLOT() scr_als_slot()
|
|
4811
|
+
#else
|
|
4812
|
+
#define SCR_ALS_SLOT() scr_als_active
|
|
4813
|
+
#endif
|
|
4714
4814
|
ScrAlsCtx *scr_als_ctx_retain(ScrAlsCtx *c);
|
|
4715
4815
|
void scr_als_ctx_release(ScrAlsCtx *c);
|
|
4716
4816
|
double scr_als_new(void);
|
|
@@ -4741,12 +4841,12 @@ void scr_process_off_rejection_handled(ScrDyn *fn);
|
|
|
4741
4841
|
/* The checkpoint delivery hook the registration above installs
|
|
4742
4842
|
* (scr_async_dyn.c → scr_report_unhandled_rejections; NULL = default
|
|
4743
4843
|
* report). Runtime-internal. */
|
|
4744
|
-
extern bool (*scr_urj_deliver_fn)(ScrPromise *p);
|
|
4844
|
+
extern SCR_TL bool (*scr_urj_deliver_fn)(ScrPromise *p);
|
|
4745
4845
|
/* The late-handled hook (scr_async_dyn.c installs it when a
|
|
4746
4846
|
* 'rejectionHandled' listener registers): scr_async.c calls it when a
|
|
4747
4847
|
* promise the report already delivered as unhandled gains a handler.
|
|
4748
4848
|
* Runtime-internal. */
|
|
4749
|
-
extern void (*scr_rjh_notify_fn)(ScrPromise *p);
|
|
4849
|
+
extern SCR_TL void (*scr_rjh_notify_fn)(ScrPromise *p);
|
|
4750
4850
|
/* The attach-time handled mark (a dyn then/catch carrying a rejection
|
|
4751
4851
|
* handler, or the module loader taking ownership of an evaluation
|
|
4752
4852
|
* promise): marks pending and rejected sources observed at Node's attach
|
|
@@ -4977,8 +5077,8 @@ void scr_stdin_data_thunk_bytes(ScrClosure *cb, ScrBytes *chunk);
|
|
|
4977
5077
|
* not the unit is present. */
|
|
4978
5078
|
void scr_loop_set_events(bool (*pending)(void), bool (*watching)(void),
|
|
4979
5079
|
void (*dispatch)(void), int (*pollfds)(int out[2]));
|
|
4980
|
-
extern void (*scr_process_exit_hook)(double code);
|
|
4981
|
-
extern void (*scr_stdin_destroy_hook)(void);
|
|
5080
|
+
extern SCR_TL void (*scr_process_exit_hook)(double code);
|
|
5081
|
+
extern SCR_TL void (*scr_stdin_destroy_hook)(void);
|
|
4982
5082
|
void scr_exit_code_note(int code);
|
|
4983
5083
|
int scr_exit_code_hint_get(void);
|
|
4984
5084
|
/* The pollable child-exit wake fd (the child kqueue / pidfd epoll) for the loop's
|
|
@@ -5769,6 +5869,8 @@ typedef enum ScrBytesElem {
|
|
|
5769
5869
|
SCR_BYTES_U8C, /* Uint8ClampedArray */
|
|
5770
5870
|
} ScrBytesElem;
|
|
5771
5871
|
|
|
5872
|
+
typedef struct ScrSharedBytes ScrSharedBytes;
|
|
5873
|
+
|
|
5772
5874
|
typedef struct ScrBytes {
|
|
5773
5875
|
size_t rc;
|
|
5774
5876
|
size_t len; /* ELEMENT count, fixed at construction */
|
|
@@ -5782,8 +5884,46 @@ typedef struct ScrBytes {
|
|
|
5782
5884
|
bool is_buffer; /* Buffer brand belongs to the view, not its backing. */
|
|
5783
5885
|
bool is_data_view; /* DataView is distinct from a numeric typed array. */
|
|
5784
5886
|
bool external; /* Root aliases foreign memory; releasing it never frees data. */
|
|
5887
|
+
ScrSharedBytes *shared; /* Neutral backing, borrowed by views from their local owner. */
|
|
5785
5888
|
} ScrBytes;
|
|
5786
5889
|
|
|
5890
|
+
/* Internal scoped locking is only for leaf memory operations. Never hold this
|
|
5891
|
+
* guard across a script callback, blocking I/O, or a fiber suspension. */
|
|
5892
|
+
void scr_shared_enter(void);
|
|
5893
|
+
void scr_shared_leave(void);
|
|
5894
|
+
bool scr_shared_guard(const ScrBytes *, const ScrBytes *);
|
|
5895
|
+
void scr_shared_guard_release(bool *);
|
|
5896
|
+
#if defined(SCR_WORKERS) || (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES))
|
|
5897
|
+
#define SCR_SHARED_GUARD(a, b) bool scr_shared_held __attribute__((cleanup(scr_shared_guard_release))) = scr_shared_guard(a, b)
|
|
5898
|
+
#else
|
|
5899
|
+
#define SCR_SHARED_GUARD(a, b) ((void)0)
|
|
5900
|
+
#endif
|
|
5901
|
+
ScrSharedBytes *scr_shared_retain(ScrSharedBytes *);
|
|
5902
|
+
void scr_shared_release(ScrSharedBytes *);
|
|
5903
|
+
void scr_bytes_make_shared(ScrBytes *);
|
|
5904
|
+
ScrBytes *scr_shared_wrap(ScrSharedBytes *);
|
|
5905
|
+
void scr_bytes_read(const ScrBytes *, size_t, void *, size_t);
|
|
5906
|
+
void scr_bytes_write(ScrBytes *, size_t, const void *, size_t);
|
|
5907
|
+
ScrStr *scr_bytes_string(const ScrBytes *, size_t, size_t);
|
|
5908
|
+
ScrBytes *scr_bytes_snapshot(const ScrBytes *);
|
|
5909
|
+
void scr_bytes_snapshot_release(ScrBytes **);
|
|
5910
|
+
ScrBytes *scr_bytes_local_copy(ScrBytes *); /* +1; shared inputs are copied */
|
|
5911
|
+
void scr_bytes_require_unshared(const ScrBytes *);
|
|
5912
|
+
/* Snapshot before passing byte pointers to I/O or callback-capable consumers.
|
|
5913
|
+
* The copy is local, so neither a lock nor shared raw memory escapes. */
|
|
5914
|
+
#if defined(SCR_WORKERS) || (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES))
|
|
5915
|
+
#define SCR_BYTES_SNAPSHOT(name) \
|
|
5916
|
+
ScrBytes *scr_snapshot_##name __attribute__((cleanup(scr_bytes_snapshot_release))) = scr_bytes_snapshot(name); \
|
|
5917
|
+
if (scr_snapshot_##name) name = scr_snapshot_##name
|
|
5918
|
+
#else
|
|
5919
|
+
#define SCR_BYTES_SNAPSHOT(name) ((void)0)
|
|
5920
|
+
#endif
|
|
5921
|
+
ScrDyn *scr_shared_array_buffer_new(ScrDyn *);
|
|
5922
|
+
ScrDyn *scr_worker_data(void);
|
|
5923
|
+
ScrDyn *scr_worker_parent_port(void);
|
|
5924
|
+
ScrDyn *scr_worker_new(double root, ScrStr *filename, ScrDyn *options);
|
|
5925
|
+
bool scr_shared_array_buffer_is(const ScrDyn *);
|
|
5926
|
+
bool scr_buffer_storage_is(const ScrDyn *);
|
|
5787
5927
|
ScrBytes *scr_bytes_from_external(void *data, size_t length);
|
|
5788
5928
|
ScrDyn *scr_ffi_memory_module(ScrDyn *catalog);
|
|
5789
5929
|
ScrDyn *scr_ffi_argument(ScrDyn *value, ScrStr *type);
|
|
@@ -6198,9 +6338,11 @@ bool scr_dataview_write_u64_raw(ScrBytes *b, double offset, bool le, uint64_t va
|
|
|
6198
6338
|
* Failures THROW catchably (scr_fs_throw, Node-shaped messages). */
|
|
6199
6339
|
ScrBytes *scr_fs_read_file_bytes(ScrStr *path); /* +1 */
|
|
6200
6340
|
/* readFileSync's runtime-encoding form (scr_bytes_io.c's note): +1 dyn
|
|
6201
|
-
* value — a Buffer box for
|
|
6341
|
+
* value — a Buffer box for nullish/empty encodings, a decoded string otherwise — or NULL
|
|
6202
6342
|
* with the exception pending. */
|
|
6203
6343
|
ScrDyn *scr_fs_read_file_sync_dyn(ScrStr *path, const ScrDyn *enc);
|
|
6344
|
+
ScrStr *scr_fs_read_file_encoded(ScrStr *path, ScrStr *encoding);
|
|
6345
|
+
ScrStr *scr_fs_read_fd_encoded(double fd, ScrStr *encoding);
|
|
6204
6346
|
ScrDyn *scr_fs_callback_value(ScrStr *member);
|
|
6205
6347
|
ScrDyn *scr_fs_callback_call(ScrStr *member, const ScrDyn *args);
|
|
6206
6348
|
ScrBytes *scr_fs_read_fd_bytes(double fd); /* +1; the fd form (scr_lib.c) */
|
|
@@ -6696,7 +6838,7 @@ ScrArr *scr_tls_ca_root(void); /* +1; === getCACertificates("bundled") */
|
|
|
6696
6838
|
* ERR_CRYPTO_OPERATION_FAILED and leaves the set unchanged. Borrows. */
|
|
6697
6839
|
void scr_tls_ca_set_default(ScrArr *certs);
|
|
6698
6840
|
/* scr_tls.c's anchor consult: true iff setDefaultCACertificates ran;
|
|
6699
|
-
* *pem
|
|
6841
|
+
* *pem and *len then carry the concatenated NUL-terminated blocks (len 0 =
|
|
6700
6842
|
* the empty set — verification fails, Node's own consequence), and *gen
|
|
6701
6843
|
* a counter that bumps per set so the parsed chain re-parses on change. */
|
|
6702
6844
|
bool scr_tls_ca_default_override(const char **pem, size_t *len, uint64_t *gen);
|