@scriptc/cli-darwin-x64 0.2.4 → 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 +972 -245
- package/dist/lib/declarations/scriptc-overrides.d.ts +5 -1
- package/dist/lib/declarations/scriptc.d.ts +22 -2
- package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
- package/dist/lib/llvm/package.json +1 -1
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bigint_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_crypto_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dc.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dyn_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_ffi.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_ffi_queue.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_loop_epoll.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_loop_kqueue.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_loop_wsapoll.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_path.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_qs.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_test.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_tls_ca.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_url_params.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_util.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_util_style.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_watch.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default-workers/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_mailbox.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_message.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_worker.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/workers/scr_worker_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_async_dyn.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bigint.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bigint_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_console_native.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_crypto_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dc.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dyn_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_dyn_invoke.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_fetch.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_ffi.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_ffi_queue.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_grapheme.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_http.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_http2.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_inspect.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_loop_epoll.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_loop_kqueue.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_loop_wsapoll.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_net.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_node_builtin.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_path.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_qs.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_symbol.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_test.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_tls_ca.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_url.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_url_params.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_util.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_util_style.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_watch.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default-workers/scr_zlib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_context.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_copying.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_shared.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_util_compare.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_mailbox.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_message.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_worker.o +0 -0
- package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/workers/scr_worker_events.o +0 -0
- package/dist/lib/runtime-darwin-x64/package.json +1 -1
- package/dist/lib/runtime-darwin-x64/runtime-pack.json +3318 -790
- package/dist/lib/runtime-sources/package.json +1 -1
- package/dist/lib/runtime-sources/src/scr_array.c +479 -46
- 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.test.ts +16 -6
- package/dist/lib/runtime-sources/src/scr_async_dyn.c +30 -30
- package/dist/lib/runtime-sources/src/scr_bytes.c +487 -221
- package/dist/lib/runtime-sources/src/scr_bytes.test.c +85 -0
- package/dist/lib/runtime-sources/src/scr_bytes_io.c +45 -64
- 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 +13 -2
- 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 +652 -189
- package/dist/lib/runtime-sources/src/scr_json.test.c +339 -1
- package/dist/lib/runtime-sources/src/scr_json.test.ts +59 -25
- package/dist/lib/runtime-sources/src/scr_key.h +92 -0
- package/dist/lib/runtime-sources/src/scr_lib.c +256 -136
- 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 +240 -107
- 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 +36 -4
- package/dist/lib/runtime-sources/src/scr_numeric.h +25 -0
- package/dist/lib/runtime-sources/src/scr_numeric.test.c +37 -0
- package/dist/lib/runtime-sources/src/scr_numeric.test.ts +33 -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 +351 -167
- package/dist/lib/runtime-sources/src/scr_runtime.h +207 -34
- 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 +365 -141
- 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
|
@@ -73,32 +73,44 @@ static void scr_domex_gcfree(void *obj) {
|
|
|
73
73
|
|
|
74
74
|
/* The DIRECT release stored in the builtin vtables (the compiler emits the
|
|
75
75
|
* analogous sc_reld_* for user subclasses). */
|
|
76
|
+
static void scr_error_destroy(void *obj) {
|
|
77
|
+
ScrError *e = (ScrError *)obj;
|
|
78
|
+
scr_str_release(e->name);
|
|
79
|
+
scr_str_release(e->message);
|
|
80
|
+
scr_str_release(e->code);
|
|
81
|
+
scr_str_release(e->stack_frames);
|
|
82
|
+
scr_str_release(e->stack);
|
|
83
|
+
if (e->error_cause && scr_error_cause_drop) scr_error_cause_drop(obj);
|
|
84
|
+
scr_obj_free_note();
|
|
85
|
+
if (scr_error_traced) scr_cyc_free(e);
|
|
86
|
+
else free(e);
|
|
87
|
+
}
|
|
88
|
+
|
|
76
89
|
static void scr_error_reld(void *obj) {
|
|
77
90
|
ScrError *e = (ScrError *)obj;
|
|
78
91
|
if (--e->rc == 0) {
|
|
79
92
|
if (scr_error_traced) scr_cyc_on_dead(e);
|
|
80
|
-
|
|
81
|
-
scr_str_release(e->message);
|
|
82
|
-
scr_str_release(e->code); /* NULL-safe: absent on most errors */
|
|
83
|
-
scr_str_release(e->stack_frames);
|
|
84
|
-
scr_str_release(e->stack);
|
|
85
|
-
if (e->error_cause && scr_error_cause_drop) scr_error_cause_drop(obj);
|
|
86
|
-
scr_obj_free_note();
|
|
87
|
-
if (scr_error_traced) scr_cyc_free(e);
|
|
88
|
-
else free(e);
|
|
93
|
+
scr_rc_destroy(obj, scr_error_destroy);
|
|
89
94
|
} else if (scr_error_traced) {
|
|
90
95
|
scr_cyc_on_release(e); /* possible cycle root; may collect */
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
98
|
|
|
94
|
-
|
|
95
|
-
*
|
|
99
|
+
static void scr_domex_destroy(void *obj) {
|
|
100
|
+
ScrDomException *d = (ScrDomException *)obj;
|
|
101
|
+
if (d->cause != NULL && scr_domex_cause_drop != NULL) scr_domex_cause_drop(obj);
|
|
102
|
+
scr_error_destroy(obj);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Both cause chains participate in the shared destruction depth budget. */
|
|
96
106
|
static void scr_domex_reld(void *obj) {
|
|
97
107
|
ScrDomException *d = (ScrDomException *)obj;
|
|
98
|
-
if (d->rc ==
|
|
99
|
-
|
|
108
|
+
if (--d->rc == 0) {
|
|
109
|
+
if (scr_error_traced) scr_cyc_on_dead(d);
|
|
110
|
+
scr_rc_destroy(obj, scr_domex_destroy);
|
|
111
|
+
} else if (scr_error_traced) {
|
|
112
|
+
scr_cyc_on_release(d);
|
|
100
113
|
}
|
|
101
|
-
scr_error_reld(obj);
|
|
102
114
|
}
|
|
103
115
|
|
|
104
116
|
/* Defaults cover only the instants before main() stamps the program's real
|
|
@@ -185,6 +185,7 @@ static bool scr_signal_check(ScrStr *name, ScrDyn *cb) {
|
|
|
185
185
|
|
|
186
186
|
void scr_signal_on(ScrStr *name, ScrDyn *cb, bool once) {
|
|
187
187
|
if (!scr_signal_check(name, cb)) return;
|
|
188
|
+
if (!scr_context_is_main()) return;
|
|
188
189
|
#ifdef __wasi__
|
|
189
190
|
(void)once;
|
|
190
191
|
scr_trap("scriptc: internal error: OS signal surface reached on WASI\n");
|
|
@@ -262,6 +263,7 @@ static void scr_sig_remove(ScrSigReg *reg, size_t i) {
|
|
|
262
263
|
|
|
263
264
|
void scr_signal_off(ScrStr *name, ScrDyn *cb) {
|
|
264
265
|
if (!scr_signal_check(name, cb)) return;
|
|
266
|
+
if (!scr_context_is_main()) return;
|
|
265
267
|
int sig = scr_signal_from_name(name);
|
|
266
268
|
if (sig < 0) sig = 0;
|
|
267
269
|
ScrSigReg *reg = scr_sig_regs;
|
|
@@ -359,20 +361,20 @@ typedef struct {
|
|
|
359
361
|
bool once;
|
|
360
362
|
} ScrStdinErrL;
|
|
361
363
|
|
|
362
|
-
static ScrStdinDataL *scr_stdin_data = NULL;
|
|
363
|
-
static size_t scr_stdin_ndata = 0, scr_stdin_data_cap = 0;
|
|
364
|
-
static ScrStdinEndL *scr_stdin_end = NULL;
|
|
365
|
-
static size_t scr_stdin_nend = 0, scr_stdin_end_cap = 0;
|
|
366
|
-
static ScrStdinErrL *scr_stdin_err = NULL;
|
|
367
|
-
static size_t scr_stdin_nerr = 0, scr_stdin_err_cap = 0;
|
|
368
|
-
static ScrPromise *scr_stdin_waiter = NULL; /* parked for-await next() */
|
|
369
|
-
static bool scr_stdin_eof = false;
|
|
370
|
-
static bool scr_stdin_destroyed = false;
|
|
371
|
-
static bool scr_stdin_paused = false;
|
|
372
|
-
static bool scr_stdin_resumed = false;
|
|
373
|
-
static bool scr_stdin_read_eof = false;
|
|
374
|
-
static ScrBytes *scr_stdin_buffer;
|
|
375
|
-
static size_t scr_stdin_read_demand;
|
|
364
|
+
static SCR_TL ScrStdinDataL *scr_stdin_data = NULL;
|
|
365
|
+
static SCR_TL size_t scr_stdin_ndata = 0, scr_stdin_data_cap = 0;
|
|
366
|
+
static SCR_TL ScrStdinEndL *scr_stdin_end = NULL;
|
|
367
|
+
static SCR_TL size_t scr_stdin_nend = 0, scr_stdin_end_cap = 0;
|
|
368
|
+
static SCR_TL ScrStdinErrL *scr_stdin_err = NULL;
|
|
369
|
+
static SCR_TL size_t scr_stdin_nerr = 0, scr_stdin_err_cap = 0;
|
|
370
|
+
static SCR_TL ScrPromise *scr_stdin_waiter = NULL; /* parked for-await next() */
|
|
371
|
+
static SCR_TL bool scr_stdin_eof = false;
|
|
372
|
+
static SCR_TL bool scr_stdin_destroyed = false;
|
|
373
|
+
static SCR_TL bool scr_stdin_paused = false;
|
|
374
|
+
static SCR_TL bool scr_stdin_resumed = false;
|
|
375
|
+
static SCR_TL bool scr_stdin_read_eof = false;
|
|
376
|
+
static SCR_TL ScrBytes *scr_stdin_buffer;
|
|
377
|
+
static SCR_TL size_t scr_stdin_read_demand;
|
|
376
378
|
|
|
377
379
|
void scr_stdin_on_data(ScrClosure *cb /*moves*/, void (*fn)(ScrClosure *, ScrBytes *),
|
|
378
380
|
bool once) {
|
|
@@ -682,15 +684,15 @@ typedef struct {
|
|
|
682
684
|
ScrDyn *write_error;
|
|
683
685
|
} ScrStdio;
|
|
684
686
|
|
|
685
|
-
static ScrStdio scr_stdio_streams[3] = {{.fd = 0}, {.fd = 1}, {.fd = 2}};
|
|
687
|
+
static SCR_TL ScrStdio scr_stdio_streams[3] = {{.fd = 0}, {.fd = 1}, {.fd = 2}};
|
|
686
688
|
enum { STDIO_WRITE, STDIO_ON, STDIO_ONCE, STDIO_OFF, STDIO_PAUSE, STDIO_RESUME,
|
|
687
689
|
STDIO_IS_PAUSED, STDIO_READ, STDIO_RAW, STDIO_DESTROY, STDIO_METHOD_COUNT };
|
|
688
690
|
static const char *const scr_stdio_names[] = {
|
|
689
691
|
"write", "on", "once", "removeListener", "pause", "resume", "isPaused", "read", "setRawMode", "destroy"
|
|
690
692
|
};
|
|
691
|
-
static ScrDyn *scr_stdio_methods[STDIO_METHOD_COUNT];
|
|
692
|
-
static bool scr_stdio_initialized;
|
|
693
|
-
static bool scr_stdio_raw;
|
|
693
|
+
static SCR_TL ScrDyn *scr_stdio_methods[STDIO_METHOD_COUNT];
|
|
694
|
+
static SCR_TL bool scr_stdio_initialized;
|
|
695
|
+
static SCR_TL bool scr_stdio_raw;
|
|
694
696
|
|
|
695
697
|
static ScrDyn *scr_stdio_refusal(const char *name) {
|
|
696
698
|
char message[192];
|
|
@@ -868,7 +870,7 @@ static ScrDyn *scr_stdio_method(ScrClosure *cb, ScrDyn *const *args, size_t argc
|
|
|
868
870
|
bytes = scr_bytes_from_str(arg->v.str, enc);
|
|
869
871
|
scr_str_release(enc);
|
|
870
872
|
} else if (arg->kind == SCR_DYN_BYTES && arg->v.bytes->elem == SCR_BYTES_U8) {
|
|
871
|
-
bytes = scr_bytes_retain(arg->v.bytes);
|
|
873
|
+
bytes = arg->v.bytes->shared ? scr_bytes_copy(arg->v.bytes) : scr_bytes_retain(arg->v.bytes);
|
|
872
874
|
} else {
|
|
873
875
|
scr_dyn_arg_type_fail("chunk", "of type string or an instance of Buffer, TypedArray, or DataView", arg);
|
|
874
876
|
goto done;
|
|
@@ -1091,20 +1093,29 @@ typedef struct {
|
|
|
1091
1093
|
bool once;
|
|
1092
1094
|
} ScrExitListener;
|
|
1093
1095
|
|
|
1094
|
-
static ScrExitListener *scr_exit_ls = NULL;
|
|
1095
|
-
static size_t scr_exit_n = 0, scr_exit_cap = 0;
|
|
1096
|
-
static bool scr_exit_ran = false;
|
|
1096
|
+
static SCR_TL ScrExitListener *scr_exit_ls = NULL;
|
|
1097
|
+
static SCR_TL size_t scr_exit_n = 0, scr_exit_cap = 0;
|
|
1098
|
+
static SCR_TL bool scr_exit_ran = false;
|
|
1097
1099
|
|
|
1098
1100
|
void scr_run_exit_listeners(double code) {
|
|
1099
1101
|
if (scr_exit_ran) return; /* process.exit inside a listener: no recursion */
|
|
1100
1102
|
scr_exit_ran = true;
|
|
1101
1103
|
scr_process_in_exit = true; /* process._exiting — Node's flag */
|
|
1102
1104
|
for (size_t i = 0; i < scr_exit_n; i++) {
|
|
1105
|
+
#ifdef SCR_WORKERS
|
|
1106
|
+
if (scr_context_stopping()) break;
|
|
1107
|
+
#endif
|
|
1103
1108
|
scr_exit_ls[i].fn(scr_exit_ls[i].cb, code);
|
|
1109
|
+
#ifdef SCR_WORKERS
|
|
1110
|
+
if (scr_context_stopping()) break;
|
|
1111
|
+
#endif
|
|
1104
1112
|
if (scr_exc_pending()) {
|
|
1105
1113
|
/* Node: a throw in an 'exit' listener is fatal (exit code 7). */
|
|
1106
1114
|
scr_exc_print_uncaught();
|
|
1107
1115
|
fflush(stdout);
|
|
1116
|
+
#ifdef SCR_WORKERS
|
|
1117
|
+
if (!scr_context_is_main()) { scr_context_stop(7); break; }
|
|
1118
|
+
#endif
|
|
1108
1119
|
_Exit(7);
|
|
1109
1120
|
}
|
|
1110
1121
|
}
|
|
@@ -1172,14 +1183,16 @@ void scr_stdin_data_thunk_bytes(ScrClosure *cb, ScrBytes *chunk) {
|
|
|
1172
1183
|
static bool scr_events_pending(void) { return scr_stdin_pending(); }
|
|
1173
1184
|
|
|
1174
1185
|
static bool scr_events_watching(void) {
|
|
1175
|
-
return scr_sig_watched > 0 || scr_stdin_pending();
|
|
1186
|
+
return (scr_context_is_main() && scr_sig_watched > 0) || scr_stdin_pending();
|
|
1176
1187
|
}
|
|
1177
1188
|
|
|
1178
1189
|
/* One dispatch pass at a loop turn: wake-pipe bytes are consumed (safe
|
|
1179
1190
|
* any time), flagged signals fire, and stdin is probed/served. */
|
|
1180
1191
|
static void scr_events_dispatch(void) {
|
|
1181
|
-
|
|
1182
|
-
|
|
1192
|
+
if (scr_context_is_main()) {
|
|
1193
|
+
scr_wake_pipe_drain();
|
|
1194
|
+
scr_signals_drain();
|
|
1195
|
+
}
|
|
1183
1196
|
if (scr_exc_pending()) return;
|
|
1184
1197
|
scr_stdin_service();
|
|
1185
1198
|
}
|
|
@@ -1188,8 +1201,8 @@ static void scr_events_dispatch(void) {
|
|
|
1188
1201
|
* any signal is watched, fd 0 while stdin has a consumer. */
|
|
1189
1202
|
static int scr_events_pollfds(int out[2]) {
|
|
1190
1203
|
int n = 0;
|
|
1191
|
-
if (scr_sig_watched > 0 && scr_wake_pipe[0] >= 0) out[n++] = scr_wake_pipe[0];
|
|
1192
|
-
if (scr_stdin_pending()) out[n++] = 0;
|
|
1204
|
+
if (scr_context_is_main() && scr_sig_watched > 0 && scr_wake_pipe[0] >= 0) out[n++] = scr_wake_pipe[0];
|
|
1205
|
+
if (scr_context_is_main() && scr_stdin_pending()) out[n++] = 0;
|
|
1193
1206
|
return n;
|
|
1194
1207
|
}
|
|
1195
1208
|
|
|
@@ -1206,7 +1219,7 @@ static void scr_exit_atexit(void) { scr_run_exit_listeners((double)scr_exit_code
|
|
|
1206
1219
|
* listeners fire first, then everything releases, then the RC audit sees
|
|
1207
1220
|
* a clean heap. */
|
|
1208
1221
|
static void scr_events_cleanup_atexit(void) {
|
|
1209
|
-
scr_sig_cleanup();
|
|
1222
|
+
if (scr_context_is_main()) scr_sig_cleanup();
|
|
1210
1223
|
scr_stdin_settle_done();
|
|
1211
1224
|
scr_stdin_drop_listeners();
|
|
1212
1225
|
scr_bytes_release(scr_stdin_buffer);
|
|
@@ -1215,15 +1228,16 @@ static void scr_events_cleanup_atexit(void) {
|
|
|
1215
1228
|
}
|
|
1216
1229
|
|
|
1217
1230
|
void scr_events_install(void) {
|
|
1218
|
-
static bool installed = false;
|
|
1231
|
+
static SCR_TL bool installed = false;
|
|
1219
1232
|
if (installed) return;
|
|
1220
1233
|
installed = true;
|
|
1234
|
+
if (!scr_context_is_main()) scr_stdin_read_eof = true;
|
|
1221
1235
|
#ifdef __wasi__
|
|
1222
1236
|
int stdin_flags = fcntl(0, F_GETFL, 0);
|
|
1223
1237
|
if (stdin_flags >= 0) (void)fcntl(0, F_SETFL, stdin_flags | O_NONBLOCK);
|
|
1224
1238
|
#endif
|
|
1225
|
-
|
|
1226
|
-
|
|
1239
|
+
scr_atexit(scr_events_cleanup_atexit);
|
|
1240
|
+
scr_atexit(scr_exit_atexit);
|
|
1227
1241
|
scr_loop_set_events(&scr_events_pending, &scr_events_watching, &scr_events_dispatch,
|
|
1228
1242
|
&scr_events_pollfds);
|
|
1229
1243
|
scr_process_exit_hook = &scr_run_exit_listeners;
|
|
@@ -97,6 +97,11 @@ struct ScrEeReg {
|
|
|
97
97
|
* only removeAllListeners deletes: the named form drops the one key,
|
|
98
98
|
* the no-argument wipe resets everything and leaves shape mode. */
|
|
99
99
|
bool shape;
|
|
100
|
+
/* Owner-internal observation of empty/nonempty listener transitions. It
|
|
101
|
+
* runs before user meta events and must never invoke script or mutate the
|
|
102
|
+
* emitter. The owner keeps the borrowed context alive with the emitter. */
|
|
103
|
+
void (*observe)(void *context, const ScrStr *name, bool present);
|
|
104
|
+
void *observer_context;
|
|
100
105
|
};
|
|
101
106
|
|
|
102
107
|
/* The vtable of BARE `new EventEmitter()` instances; the emitted main()
|
|
@@ -111,7 +116,7 @@ static SCR_TL bool scr_ee_trace_hint_shown = false;
|
|
|
111
116
|
|
|
112
117
|
/* Post-registration hook (scr_runtime.h): the stream unit's flow kick.
|
|
113
118
|
* NULL in stream-free builds — behavior byte-identical. */
|
|
114
|
-
void (*scr_emitter_on_hook)(ScrEmitter *em, ScrStr *name) = NULL;
|
|
119
|
+
SCR_TL void (*scr_emitter_on_hook)(ScrEmitter *em, ScrStr *name) = NULL;
|
|
115
120
|
|
|
116
121
|
/* ── entries and buckets ──────────────────────────────────────────────── */
|
|
117
122
|
|
|
@@ -137,6 +142,18 @@ static ScrEeReg *scr_ee_reg_ensure(ScrEmitter *em) {
|
|
|
137
142
|
return em->reg;
|
|
138
143
|
}
|
|
139
144
|
|
|
145
|
+
void scr_emitter_observe(ScrEmitter *em,
|
|
146
|
+
void (*observe)(void *, const ScrStr *, bool), void *context) {
|
|
147
|
+
ScrEeReg *reg = scr_ee_reg_ensure(em);
|
|
148
|
+
reg->observe = observe;
|
|
149
|
+
reg->observer_context = context;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
static void scr_ee_observe(ScrEmitter *em, const ScrStr *name, bool present) {
|
|
153
|
+
ScrEeReg *reg = em->reg;
|
|
154
|
+
if (reg->observe) reg->observe(reg->observer_context, name, present);
|
|
155
|
+
}
|
|
156
|
+
|
|
140
157
|
static ScrEeBucket *scr_ee_bucket_find(ScrEeReg *reg, const char *name, size_t len) {
|
|
141
158
|
if (!reg) return NULL;
|
|
142
159
|
for (ScrEeBucket *b = reg->head; b; b = b->next) {
|
|
@@ -368,6 +385,7 @@ static ScrEmitter *scr_ee_add(ScrEmitter *em, ScrStr *name, ScrClosure *cb /*mov
|
|
|
368
385
|
b->ls[b->n] = e;
|
|
369
386
|
}
|
|
370
387
|
b->n++;
|
|
388
|
+
if (b->n == 1) scr_ee_observe(em, name, true);
|
|
371
389
|
scr_ee_warn_maybe(em, b);
|
|
372
390
|
if (scr_emitter_on_hook != NULL) scr_emitter_on_hook(em, name);
|
|
373
391
|
return scr_emitter_retain(em);
|
|
@@ -461,6 +479,7 @@ static void scr_ee_remove_at(ScrEmitter *em, ScrEeBucket *b, size_t i) {
|
|
|
461
479
|
memmove(b->ls + i, b->ls + i + 1, (b->n - i - 1) * sizeof *b->ls);
|
|
462
480
|
b->n--;
|
|
463
481
|
ScrStr *name = scr_str_retain(b->name);
|
|
482
|
+
if (b->n == 0) scr_ee_observe(em, name, false);
|
|
464
483
|
if (b->n == 0 && !em->reg->shape) scr_ee_bucket_drop(em->reg, b);
|
|
465
484
|
scr_ee_entry_unref(e);
|
|
466
485
|
scr_ee_emit_meta(em, "removeListener", name);
|
|
@@ -519,6 +538,7 @@ static void scr_ee_remove_all_named(ScrEmitter *em, ScrEeBucket *b, bool meta) {
|
|
|
519
538
|
if (!meta) {
|
|
520
539
|
for (size_t i = 0; i < b->n; i++) scr_ee_entry_unref(b->ls[i]);
|
|
521
540
|
b->n = 0;
|
|
541
|
+
scr_ee_observe(em, b->name, false);
|
|
522
542
|
scr_ee_bucket_drop(em->reg, b);
|
|
523
543
|
return;
|
|
524
544
|
}
|
|
@@ -695,6 +715,19 @@ bool scr_emitter_emit_flex(ScrEmitter *em, ScrStr *name, ScrDyn *const *args, si
|
|
|
695
715
|
return scr_ee_emit_core(em, name, NULL, args, argc);
|
|
696
716
|
}
|
|
697
717
|
|
|
718
|
+
/* Handle event registries use checked callbacks for every tuple, including
|
|
719
|
+
* errors. Keep this separate from the statically typed Error ABI above. */
|
|
720
|
+
bool scr_emitter_emit_error_flex(ScrEmitter *em, ScrDyn *error) {
|
|
721
|
+
if (!scr_ee_has(em->reg, "error")) {
|
|
722
|
+
scr_dyn_throw(scr_dyn_retain(error));
|
|
723
|
+
return false;
|
|
724
|
+
}
|
|
725
|
+
ScrStr *name = scr_str_new("error", 5);
|
|
726
|
+
bool had = scr_ee_emit_core(em, name, NULL, &error, 1);
|
|
727
|
+
scr_str_release(name);
|
|
728
|
+
return had;
|
|
729
|
+
}
|
|
730
|
+
|
|
698
731
|
/* emit('error', err) — Node's special event: with no 'error' listener the
|
|
699
732
|
* payload THROWS (catchable; uncaught exits 1 with the error report).
|
|
700
733
|
* err is borrowed; the throw takes its own +1. */
|
|
@@ -37,11 +37,11 @@ _Noreturn void scr_trap_fmt(const char *fmt, ...) {
|
|
|
37
37
|
#endif /* !SCR_LIB */
|
|
38
38
|
|
|
39
39
|
static SCR_TL ScrExcCell scr_main_exc; /* fiber zero (the main stack) */
|
|
40
|
-
#if defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)
|
|
40
|
+
#if (defined(SCR_LIB) && defined(SCR_THREAD_INSTANCES)) || defined(SCR_WORKERS)
|
|
41
41
|
/* A thread-local pointer cannot be initialized with &scr_main_exc — the
|
|
42
42
|
* address of a thread-local is not a constant expression — so NULL stands
|
|
43
|
-
* for the main cell and every read resolves it.
|
|
44
|
-
*
|
|
43
|
+
* for the main cell and every read resolves it. Worker executables also
|
|
44
|
+
* switch this pointer as fibers enter and leave their own exception cells. */
|
|
45
45
|
static SCR_TL ScrExcCell *scr_cur;
|
|
46
46
|
#define SCR_EXC_CUR() (scr_cur ? scr_cur : &scr_main_exc)
|
|
47
47
|
#else
|
|
@@ -117,7 +117,12 @@ ScrStr *scr_stack_capture(void) {
|
|
|
117
117
|
#define scr_exc_release_fn (SCR_EXC_CUR()->release_fn)
|
|
118
118
|
#define scr_exc_trace_fn (SCR_EXC_CUR()->trace_fn)
|
|
119
119
|
|
|
120
|
-
bool scr_exc_pending(void) {
|
|
120
|
+
bool scr_exc_pending(void) {
|
|
121
|
+
#ifdef SCR_WORKERS
|
|
122
|
+
if (scr_context_checkpoint()) return true;
|
|
123
|
+
#endif
|
|
124
|
+
return scr_exc_kind != SCR_EXC_NONE;
|
|
125
|
+
}
|
|
121
126
|
|
|
122
127
|
/* Release the current payload (if any) and reset to NONE. Shared by clear,
|
|
123
128
|
* the uncaught printer, and every throw (replace semantics). */
|
|
@@ -212,12 +217,13 @@ void scr_rethrow(const ScrCaught *c) {
|
|
|
212
217
|
break;
|
|
213
218
|
case SCR_EXC_NONE:
|
|
214
219
|
break; /* unreachable: take() never stores NONE */
|
|
220
|
+
case SCR_EXC_TERMINATE:
|
|
215
221
|
case SCR_EXC_GENRET:
|
|
216
222
|
/* The generator-return sentinel, stashed across an exception-path
|
|
217
223
|
* finally (emitTryCatch): re-raising restores the bare kind — no
|
|
218
224
|
* payload exists. */
|
|
219
225
|
scr_exc_reset();
|
|
220
|
-
scr_exc_kind =
|
|
226
|
+
scr_exc_kind = c->kind;
|
|
221
227
|
break;
|
|
222
228
|
}
|
|
223
229
|
}
|
|
@@ -279,6 +285,7 @@ ScrStr *scr_caught_to_string(const ScrCaught *c) {
|
|
|
279
285
|
* boxes print this too where Node would vary (SEMANTICS.md). */
|
|
280
286
|
return scr_str_new("[object Object]", 15);
|
|
281
287
|
case SCR_EXC_NONE:
|
|
288
|
+
case SCR_EXC_TERMINATE:
|
|
282
289
|
case SCR_EXC_GENRET: /* unreachable: take() never stores NONE/the sentinel */
|
|
283
290
|
break;
|
|
284
291
|
}
|
|
@@ -428,10 +435,13 @@ static SCR_TL int scr_exit_code_hint = 0;
|
|
|
428
435
|
void scr_exit_code_note(int code) { scr_exit_code_hint = code; }
|
|
429
436
|
int scr_exit_code_hint_get(void) { return scr_exit_code_hint; }
|
|
430
437
|
|
|
431
|
-
int (*scr_uncaught_exception_hook)(bool from_promise) = NULL;
|
|
432
|
-
static bool scr_uncaught_handler_failed = false;
|
|
438
|
+
SCR_TL int (*scr_uncaught_exception_hook)(bool from_promise) = NULL;
|
|
439
|
+
static SCR_TL bool scr_uncaught_handler_failed = false;
|
|
433
440
|
|
|
434
441
|
bool scr_exc_handle_uncaught(bool from_promise) {
|
|
442
|
+
#ifdef SCR_WORKERS
|
|
443
|
+
if (scr_context_stopping()) return false;
|
|
444
|
+
#endif
|
|
435
445
|
if (!scr_exc_pending()) return true;
|
|
436
446
|
if (!scr_uncaught_exception_hook || scr_uncaught_handler_failed) return false;
|
|
437
447
|
int result = scr_uncaught_exception_hook(from_promise);
|
|
@@ -440,6 +450,14 @@ bool scr_exc_handle_uncaught(bool from_promise) {
|
|
|
440
450
|
}
|
|
441
451
|
|
|
442
452
|
void scr_exc_print_uncaught(void) {
|
|
453
|
+
#ifdef SCR_WORKERS
|
|
454
|
+
if (scr_context_stopping()) { scr_exc_clear(); return; }
|
|
455
|
+
if (scr_context_report_error) {
|
|
456
|
+
scr_exit_code_note(scr_uncaught_handler_failed ? 7 : 1);
|
|
457
|
+
scr_context_report_error();
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
#endif
|
|
443
461
|
scr_exit_code_note(scr_uncaught_handler_failed ? 7 : 1);
|
|
444
462
|
/* Settle any runtime-internal stdout fragment before the stderr line when
|
|
445
463
|
* both share an fd. JavaScript-visible writes already flush themselves. */
|
|
@@ -477,6 +495,7 @@ void scr_exc_print_uncaught(void) {
|
|
|
477
495
|
break;
|
|
478
496
|
case SCR_EXC_NONE: /* main only calls this when pending */
|
|
479
497
|
case SCR_EXC_GENRET: /* unreachable: the trampoline consumes the sentinel */
|
|
498
|
+
case SCR_EXC_TERMINATE:
|
|
480
499
|
fputs("(no exception)", stderr);
|
|
481
500
|
break;
|
|
482
501
|
}
|
|
@@ -1618,7 +1618,7 @@ static void sf_collector_append(SfCollector *c, const ScrBytes *bytes) {
|
|
|
1618
1618
|
c->data = next;
|
|
1619
1619
|
c->cap = cap;
|
|
1620
1620
|
}
|
|
1621
|
-
|
|
1621
|
+
scr_bytes_read(bytes, 0, c->data + c->len, bytes->len);
|
|
1622
1622
|
c->len = need;
|
|
1623
1623
|
}
|
|
1624
1624
|
|
|
@@ -3536,8 +3536,8 @@ static char *sf_all_proxy;
|
|
|
3536
3536
|
static char *sf_no_proxy;
|
|
3537
3537
|
|
|
3538
3538
|
static char *sf_env_copy(const char *lower, const char *upper) {
|
|
3539
|
-
const char *value =
|
|
3540
|
-
if (!value || value[0] == '\0') value =
|
|
3539
|
+
const char *value = scr_getenv(lower);
|
|
3540
|
+
if (!value || value[0] == '\0') value = scr_getenv(upper);
|
|
3541
3541
|
if (!value || value[0] == '\0') return NULL;
|
|
3542
3542
|
size_t len = strlen(value);
|
|
3543
3543
|
char *copy = malloc(len + 1);
|
|
@@ -3547,7 +3547,7 @@ static char *sf_env_copy(const char *lower, const char *upper) {
|
|
|
3547
3547
|
}
|
|
3548
3548
|
|
|
3549
3549
|
static void sf_proxy_snapshot(void) {
|
|
3550
|
-
const char *optin =
|
|
3550
|
+
const char *optin = scr_getenv("NODE_USE_ENV_PROXY");
|
|
3551
3551
|
sf_proxy_enabled = optin && strcmp(optin, "1") == 0;
|
|
3552
3552
|
if (!sf_proxy_enabled) return;
|
|
3553
3553
|
sf_http_proxy = sf_env_copy("http_proxy", "HTTP_PROXY");
|
|
@@ -4597,6 +4597,7 @@ static void sf_on_data(ScrClosure *cb, ScrBytes *chunk) {
|
|
|
4597
4597
|
return;
|
|
4598
4598
|
}
|
|
4599
4599
|
|
|
4600
|
+
SCR_BYTES_SNAPSHOT(chunk);
|
|
4600
4601
|
sf_inflate_append(t, chunk->data, chunk->len);
|
|
4601
4602
|
sf_inflate_process(t);
|
|
4602
4603
|
sf_release(t);
|
|
@@ -5045,7 +5046,9 @@ ScrDyn *scr_fetch_response_new(ScrDyn *body, ScrDyn *init) {
|
|
|
5045
5046
|
!(body->kind == SCR_DYN_HANDLE &&
|
|
5046
5047
|
body->v.handle.tag == SCR_DYNH_WEB_STREAM)) {
|
|
5047
5048
|
if (body->kind == SCR_DYN_BYTES) {
|
|
5048
|
-
|
|
5049
|
+
ScrBytes *raw = scr_bytes_raw_view(body->v.bytes);
|
|
5050
|
+
body_bytes = scr_bytes_copy(raw);
|
|
5051
|
+
scr_bytes_release(raw);
|
|
5049
5052
|
} else {
|
|
5050
5053
|
ScrStr *text =
|
|
5051
5054
|
body->kind == SCR_DYN_STR
|
|
@@ -5397,7 +5400,7 @@ static ScrDyn *sf_data_response(ScrStr *url) {
|
|
|
5397
5400
|
}
|
|
5398
5401
|
bytes->len = n;
|
|
5399
5402
|
if (base64) {
|
|
5400
|
-
ScrStr *encoded =
|
|
5403
|
+
ScrStr *encoded = scr_bytes_string(bytes, 0, bytes->len);
|
|
5401
5404
|
ScrStr *encoding = scr_str_new("base64", 6);
|
|
5402
5405
|
ScrBytes *decoded = scr_bytes_from_str(encoded, encoding);
|
|
5403
5406
|
scr_str_release(encoded); scr_str_release(encoding); scr_bytes_release(bytes); bytes = decoded;
|
|
@@ -5768,7 +5771,7 @@ static void sf_teardown(void) {
|
|
|
5768
5771
|
}
|
|
5769
5772
|
|
|
5770
5773
|
void scr_fetch_install(void) {
|
|
5771
|
-
static bool installed;
|
|
5774
|
+
static SCR_TL bool installed;
|
|
5772
5775
|
if (installed) return;
|
|
5773
5776
|
installed = true;
|
|
5774
5777
|
scr_tls_ca_install();
|
|
@@ -5808,7 +5811,7 @@ static void sf_signal_teardown(void) {
|
|
|
5808
5811
|
while (sf_reason_signals) sf_signal_drop_reason(sf_reason_signals);
|
|
5809
5812
|
}
|
|
5810
5813
|
static void sf_signal_install(void) {
|
|
5811
|
-
static bool installed;
|
|
5814
|
+
static SCR_TL bool installed;
|
|
5812
5815
|
if (installed) return;
|
|
5813
5816
|
installed = true;
|
|
5814
5817
|
scr_dyn_handle_install(SCR_DYNH_ABORT_SIGNAL, &sf_signal_ops);
|
|
@@ -6001,9 +6004,9 @@ typedef struct FxTransfer {
|
|
|
6001
6004
|
struct FxTransfer *next;
|
|
6002
6005
|
} FxTransfer;
|
|
6003
6006
|
|
|
6004
|
-
static FxTransfer *fx_live = NULL; /* registry: +1 each */
|
|
6005
|
-
static size_t fx_nlive = 0;
|
|
6006
|
-
static int fx_next_id = 1;
|
|
6007
|
+
static SCR_TL FxTransfer *fx_live = NULL; /* registry: +1 each */
|
|
6008
|
+
static SCR_TL size_t fx_nlive = 0;
|
|
6009
|
+
static SCR_TL int fx_next_id = 1;
|
|
6007
6010
|
|
|
6008
6011
|
static FxTransfer *fx_retain(FxTransfer *t) {
|
|
6009
6012
|
t->rc++;
|
|
@@ -6305,15 +6308,15 @@ static bool fx_bad_port(int port) {
|
|
|
6305
6308
|
|
|
6306
6309
|
/* ── env proxy (NODE_USE_ENV_PROXY=1, undici's EnvHttpProxyAgent) ────── */
|
|
6307
6310
|
|
|
6308
|
-
static bool fx_proxy_enabled;
|
|
6309
|
-
static char *fx_http_proxy;
|
|
6310
|
-
static char *fx_https_proxy;
|
|
6311
|
-
static char *fx_all_proxy;
|
|
6312
|
-
static char *fx_no_proxy;
|
|
6311
|
+
static SCR_TL bool fx_proxy_enabled;
|
|
6312
|
+
static SCR_TL char *fx_http_proxy;
|
|
6313
|
+
static SCR_TL char *fx_https_proxy;
|
|
6314
|
+
static SCR_TL char *fx_all_proxy;
|
|
6315
|
+
static SCR_TL char *fx_no_proxy;
|
|
6313
6316
|
|
|
6314
6317
|
static char *fx_env_copy(const char *lower, const char *upper) {
|
|
6315
|
-
const char *v =
|
|
6316
|
-
if (v == NULL || v[0] == '\0') v =
|
|
6318
|
+
const char *v = scr_getenv(lower);
|
|
6319
|
+
if (v == NULL || v[0] == '\0') v = scr_getenv(upper);
|
|
6317
6320
|
if (v == NULL || v[0] == '\0') return NULL;
|
|
6318
6321
|
size_t len = strlen(v);
|
|
6319
6322
|
char *copy = malloc(len + 1);
|
|
@@ -6323,7 +6326,7 @@ static char *fx_env_copy(const char *lower, const char *upper) {
|
|
|
6323
6326
|
}
|
|
6324
6327
|
|
|
6325
6328
|
static void fx_proxy_snapshot(void) {
|
|
6326
|
-
const char *optin =
|
|
6329
|
+
const char *optin = scr_getenv("NODE_USE_ENV_PROXY");
|
|
6327
6330
|
fx_proxy_enabled = optin != NULL && strcmp(optin, "1") == 0;
|
|
6328
6331
|
/* Snapshot even without Node's global opt-in: Vercel's dispatcher is a
|
|
6329
6332
|
* request-local proxy activation over the same startup environment. */
|
|
@@ -7500,7 +7503,7 @@ static void fx_teardown(void) {
|
|
|
7500
7503
|
* on real sockets the loop's own poller sleeps on, and armed island
|
|
7501
7504
|
* timers cap that sleep through the loop's island-deadline hook. */
|
|
7502
7505
|
void scr_fetch_install(void) {
|
|
7503
|
-
static bool installed = false;
|
|
7506
|
+
static SCR_TL bool installed = false;
|
|
7504
7507
|
if (installed) return;
|
|
7505
7508
|
installed = true;
|
|
7506
7509
|
scr_tls_ca_install();
|
|
@@ -366,7 +366,7 @@ static JSValue fx_host_start(JSContext *ctx, JSValueConst this_val, int argc,
|
|
|
366
366
|
JSValue envproxyv = JS_GetPropertyStr(ctx, req, "useEnvProxy");
|
|
367
367
|
bool use_env_proxy = JS_ToBool(ctx, envproxyv) > 0;
|
|
368
368
|
JS_FreeValue(ctx, envproxyv);
|
|
369
|
-
const char *global_env_proxy =
|
|
369
|
+
const char *global_env_proxy = scr_getenv("NODE_USE_ENV_PROXY");
|
|
370
370
|
use_env_proxy = use_env_proxy ||
|
|
371
371
|
(global_env_proxy != NULL &&
|
|
372
372
|
strcmp(global_env_proxy, "1") == 0);
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
#include <stdlib.h>
|
|
4
4
|
|
|
5
|
-
/* The
|
|
5
|
+
/* The context-local retained-registration ledger. Format-4 script-thread
|
|
6
6
|
* tables use the lock-free path in this always-linked unit. Format-5 foreign
|
|
7
7
|
* tables install an optional teardown hook owned by scr_ffi_queue.c, keeping
|
|
8
8
|
* all queue/thread machinery out of unrelated binaries. */
|
|
9
|
-
static ScrFfiTable *scr_ffi_tables;
|
|
10
|
-
static bool scr_ffi_exit_registered;
|
|
9
|
+
static SCR_TL ScrFfiTable *scr_ffi_tables;
|
|
10
|
+
static SCR_TL bool scr_ffi_exit_registered;
|
|
11
11
|
|
|
12
12
|
static void scr_ffi_oom(void) { scr_trap("scriptc: out of memory\n"); }
|
|
13
13
|
|
|
@@ -385,6 +385,7 @@ void scr_file_handle_write_file(ScrFileHandle *h, ScrStr *data) {
|
|
|
385
385
|
}
|
|
386
386
|
|
|
387
387
|
void scr_file_handle_write_file_bytes(ScrFileHandle *h, ScrBytes *data) {
|
|
388
|
+
SCR_BYTES_SNAPSHOT(data);
|
|
388
389
|
scr_file_handle_write_all(h, data->data,
|
|
389
390
|
data->len * scr_bytes_elem_size(data->elem));
|
|
390
391
|
}
|