@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
|
@@ -187,13 +187,82 @@ static bool scr_map_key_eq(const ScrMap *m, uint64_t stored, uint64_t probe) {
|
|
|
187
187
|
* A zero entry hash marks a tombstone; cached hashes reject unrelated keys
|
|
188
188
|
* before equality and survive table growth without hashing the keys again.
|
|
189
189
|
* Remap zero to one so every live entry has a nonzero hash. */
|
|
190
|
-
|
|
190
|
+
typedef enum { SCR_MAP_LOOKUP_STR, SCR_MAP_LOOKUP_SPAN, SCR_MAP_LOOKUP_WORD, SCR_MAP_LOOKUP_GENERIC } ScrMapLookup;
|
|
191
|
+
|
|
192
|
+
typedef struct { const char *bytes; size_t length; } ScrMapSpan;
|
|
193
|
+
|
|
194
|
+
/* Choose equality once per operation. Inlining the traversal with a constant
|
|
195
|
+
* lookup kind keeps the ordinary string/word probe free of key-kind dispatch,
|
|
196
|
+
* while boxed keys retain their complete value/identity semantics. */
|
|
197
|
+
static inline bool scr_map_lookup_eq(const ScrMap *m, uint64_t stored, uint64_t key,
|
|
198
|
+
ScrMapLookup lookup) {
|
|
199
|
+
if (lookup == SCR_MAP_LOOKUP_WORD) return stored == key;
|
|
200
|
+
if (lookup == SCR_MAP_LOOKUP_SPAN) {
|
|
201
|
+
const ScrStr *a = scr_map_slot_to_ptr(stored);
|
|
202
|
+
const ScrMapSpan *b = scr_map_slot_to_ptr(key);
|
|
203
|
+
return a->len == b->length && scr_key_equal(a->data, b->bytes, a->len);
|
|
204
|
+
}
|
|
205
|
+
if (lookup == SCR_MAP_LOOKUP_STR) {
|
|
206
|
+
const ScrStr *a = scr_map_slot_to_ptr(stored);
|
|
207
|
+
const ScrStr *b = scr_map_slot_to_ptr(key);
|
|
208
|
+
return a == b || (a->len == b->len && scr_key_equal(a->data, b->data, a->len));
|
|
209
|
+
}
|
|
210
|
+
return scr_map_key_eq(m, stored, key);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/* Compact tables keep a hash fingerprint beside each 24-bit entry index.
|
|
214
|
+
* Rejecting a collision here avoids loading an unrelated ordered entry.
|
|
215
|
+
* Larger tables keep full-width indices; collection size remains limited
|
|
216
|
+
* only by the allocator. Zero is empty in compact tables, so store index+1. */
|
|
217
|
+
#ifndef SCR_MAP_COMPACT_BUCKETS
|
|
218
|
+
#define SCR_MAP_COMPACT_BUCKETS ((size_t)1 << 24)
|
|
219
|
+
#endif
|
|
220
|
+
_Static_assert(SCR_MAP_COMPACT_BUCKETS >= 16 &&
|
|
221
|
+
SCR_MAP_COMPACT_BUCKETS <= ((size_t)1 << 24) &&
|
|
222
|
+
(SCR_MAP_COMPACT_BUCKETS & (SCR_MAP_COMPACT_BUCKETS - 1)) == 0,
|
|
223
|
+
"compact bucket capacity must leave room for every tagged index");
|
|
224
|
+
#define SCR_MAP_INDEX_MASK UINT32_C(0x00ffffff)
|
|
225
|
+
|
|
226
|
+
static bool scr_map_compact_buckets(size_t count) {
|
|
227
|
+
return count <= SCR_MAP_COMPACT_BUCKETS;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
static size_t scr_map_bucket(const ScrMap *m, size_t slot) {
|
|
231
|
+
if (scr_map_compact_buckets(m->nbuckets)) {
|
|
232
|
+
uint32_t index = ((const uint32_t *)m->buckets)[slot] & SCR_MAP_INDEX_MASK;
|
|
233
|
+
return index ? (size_t)index - 1 : SCR_MAP_EMPTY;
|
|
234
|
+
}
|
|
235
|
+
return ((const size_t *)m->buckets)[slot];
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
static void scr_map_bucket_set(ScrMap *m, size_t slot, size_t entry, uint64_t hash) {
|
|
239
|
+
if (scr_map_compact_buckets(m->nbuckets)) {
|
|
240
|
+
((uint32_t *)m->buckets)[slot] = (uint32_t)(entry + 1) | (uint32_t)(hash >> 32 & UINT32_C(0xff000000));
|
|
241
|
+
} else {
|
|
242
|
+
((size_t *)m->buckets)[slot] = entry;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
static inline __attribute__((always_inline)) size_t scr_map_probe_with(
|
|
247
|
+
const ScrMap *m, uint64_t hash, uint64_t key, ScrMapLookup lookup) {
|
|
191
248
|
if (m->nbuckets == 0) return SCR_MAP_EMPTY;
|
|
192
249
|
size_t mask = m->nbuckets - 1;
|
|
250
|
+
if (scr_map_compact_buckets(m->nbuckets)) {
|
|
251
|
+
const uint32_t *buckets = m->buckets;
|
|
252
|
+
uint32_t tag = (uint32_t)(hash >> 32 & UINT32_C(0xff000000));
|
|
253
|
+
for (size_t i = hash & mask;; i = (i + 1) & mask) {
|
|
254
|
+
uint32_t bucket = buckets[i];
|
|
255
|
+
if (!bucket) return i;
|
|
256
|
+
if ((bucket & ~SCR_MAP_INDEX_MASK) != tag) continue;
|
|
257
|
+
size_t b = (bucket & SCR_MAP_INDEX_MASK) - 1;
|
|
258
|
+
if (m->entries[b].hash == hash && scr_map_lookup_eq(m, m->entries[b].key, key, lookup)) return i;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
const size_t *buckets = m->buckets;
|
|
193
262
|
for (size_t i = hash & mask;; i = (i + 1) & mask) {
|
|
194
|
-
size_t b =
|
|
263
|
+
size_t b = buckets[i];
|
|
195
264
|
if (b == SCR_MAP_EMPTY) return i;
|
|
196
|
-
if (m->entries[b].hash == hash &&
|
|
265
|
+
if (m->entries[b].hash == hash && scr_map_lookup_eq(m, m->entries[b].key, key, lookup)) return i;
|
|
197
266
|
}
|
|
198
267
|
}
|
|
199
268
|
|
|
@@ -201,24 +270,103 @@ static size_t scr_map_probe(const ScrMap *m, uint64_t hash, uint64_t key) {
|
|
|
201
270
|
|
|
202
271
|
/* Small collections keep only their ordered entries. Cached hashes make
|
|
203
272
|
* the bounded scan cheap without allocating a separate bucket table. */
|
|
204
|
-
static
|
|
273
|
+
static inline __attribute__((always_inline)) size_t scr_map_find_with(
|
|
274
|
+
const ScrMap *m, uint64_t hash, uint64_t key, ScrMapLookup lookup) {
|
|
275
|
+
if (m->nlive == 0) return SCR_MAP_EMPTY;
|
|
205
276
|
hash = hash ? hash : 1;
|
|
206
277
|
if (m->nbuckets == 0) {
|
|
207
278
|
for (size_t e = 0; e < m->nentries; e++) {
|
|
208
|
-
if (m->entries[e].hash == hash &&
|
|
279
|
+
if (m->entries[e].hash == hash && scr_map_lookup_eq(m, m->entries[e].key, key, lookup)) return e;
|
|
209
280
|
}
|
|
210
281
|
return SCR_MAP_EMPTY;
|
|
211
282
|
}
|
|
212
|
-
size_t slot =
|
|
213
|
-
return slot == SCR_MAP_EMPTY ? SCR_MAP_EMPTY : m
|
|
283
|
+
size_t slot = scr_map_probe_with(m, hash, key, lookup);
|
|
284
|
+
return slot == SCR_MAP_EMPTY ? SCR_MAP_EMPTY : scr_map_bucket(m, slot);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
static ScrMapLookup scr_map_lookup_kind(const ScrMap *m) {
|
|
288
|
+
switch (m->key_kind) {
|
|
289
|
+
case SCR_MAP_KEY_STR: return SCR_MAP_LOOKUP_STR;
|
|
290
|
+
case SCR_MAP_KEY_F64:
|
|
291
|
+
case SCR_MAP_KEY_BOOL:
|
|
292
|
+
case SCR_MAP_KEY_REF:
|
|
293
|
+
case SCR_MAP_KEY_NULL:
|
|
294
|
+
case SCR_MAP_KEY_UNDEFINED: return SCR_MAP_LOOKUP_WORD;
|
|
295
|
+
default: return SCR_MAP_LOOKUP_GENERIC;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
static size_t scr_map_probe(const ScrMap *m, uint64_t hash, uint64_t key) {
|
|
300
|
+
switch (scr_map_lookup_kind(m)) {
|
|
301
|
+
case SCR_MAP_LOOKUP_STR: return scr_map_probe_with(m, hash, key, SCR_MAP_LOOKUP_STR);
|
|
302
|
+
case SCR_MAP_LOOKUP_WORD: return scr_map_probe_with(m, hash, key, SCR_MAP_LOOKUP_WORD);
|
|
303
|
+
default: return scr_map_probe_with(m, hash, key, SCR_MAP_LOOKUP_GENERIC);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
static size_t scr_map_find(const ScrMap *m, uint64_t hash, uint64_t key) {
|
|
308
|
+
switch (scr_map_lookup_kind(m)) {
|
|
309
|
+
case SCR_MAP_LOOKUP_STR: return scr_map_find_with(m, hash, key, SCR_MAP_LOOKUP_STR);
|
|
310
|
+
case SCR_MAP_LOOKUP_WORD: return scr_map_find_with(m, hash, key, SCR_MAP_LOOKUP_WORD);
|
|
311
|
+
default: return scr_map_find_with(m, hash, key, SCR_MAP_LOOKUP_GENERIC);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
static size_t scr_map_find_f64(const ScrMap *m, double key) {
|
|
316
|
+
if (m->nlive == 0) return SCR_MAP_EMPTY;
|
|
317
|
+
uint64_t k = scr_map_f64_bits(key);
|
|
318
|
+
return scr_map_find_with(m, scr_map_hash_word(k), k, SCR_MAP_LOOKUP_WORD);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
static size_t scr_map_find_str(const ScrMap *m, const ScrStr *key) {
|
|
322
|
+
if (m->nlive == 0) return SCR_MAP_EMPTY;
|
|
323
|
+
if (m->nbuckets == 0) {
|
|
324
|
+
uint64_t k = scr_map_slot_from_ptr((void *)key);
|
|
325
|
+
for (size_t e = 0; e < m->nentries; e++) {
|
|
326
|
+
if (m->entries[e].hash && scr_map_lookup_eq(m, m->entries[e].key, k, SCR_MAP_LOOKUP_STR)) return e;
|
|
327
|
+
}
|
|
328
|
+
return SCR_MAP_EMPTY;
|
|
329
|
+
}
|
|
330
|
+
return scr_map_find_with(m, scr_map_hash_str(key), scr_map_slot_from_ptr((void *)key),
|
|
331
|
+
SCR_MAP_LOOKUP_STR);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* A transient input span follows the same hash, equality and ownership
|
|
335
|
+
* rules as a string key without allocating or copying the probe. */
|
|
336
|
+
static size_t scr_map_find_span(const ScrMap *m, const char *bytes, size_t length) {
|
|
337
|
+
if (m->nlive == 0) return SCR_MAP_EMPTY;
|
|
338
|
+
ScrMapSpan key = { bytes, length };
|
|
339
|
+
return scr_map_find_with(m, scr_key_hash(bytes, length), scr_map_slot_from_ptr(&key),
|
|
340
|
+
SCR_MAP_LOOKUP_SPAN);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
bool scr_map_get_span_f64(const ScrMap *m, const char *bytes, size_t length, double *out) {
|
|
344
|
+
size_t e = scr_map_find_span(m, bytes, length);
|
|
345
|
+
if (e == SCR_MAP_EMPTY) return false;
|
|
346
|
+
*out = scr_map_slot_to_f64(m->entries[e].val);
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
bool scr_map_get_span_bool(const ScrMap *m, const char *bytes, size_t length, bool *out) {
|
|
351
|
+
size_t e = scr_map_find_span(m, bytes, length);
|
|
352
|
+
if (e == SCR_MAP_EMPTY) return false;
|
|
353
|
+
*out = m->entries[e].val != 0;
|
|
354
|
+
return true;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
void *scr_map_get_span_ref(const ScrMap *m, const char *bytes, size_t length) {
|
|
358
|
+
size_t e = scr_map_find_span(m, bytes, length);
|
|
359
|
+
return e == SCR_MAP_EMPTY ? NULL : m->val_retain(scr_map_slot_to_ptr(m->entries[e].val));
|
|
214
360
|
}
|
|
215
361
|
|
|
216
362
|
/* Rebuild the bucket table (size must be a power of two >= 2 * nentries):
|
|
217
363
|
* only live entries are inserted, in dense order — dead markers vanish. */
|
|
218
364
|
static void scr_map_rebuild_buckets(ScrMap *m, size_t nbuckets) {
|
|
219
|
-
|
|
365
|
+
bool compact = scr_map_compact_buckets(nbuckets);
|
|
366
|
+
size_t bytes = nbuckets * (compact ? sizeof(uint32_t) : sizeof(size_t));
|
|
367
|
+
void *buckets = malloc(bytes);
|
|
220
368
|
if (!buckets) scr_map_oom();
|
|
221
|
-
|
|
369
|
+
memset(buckets, compact ? 0 : 0xff, bytes);
|
|
222
370
|
free(m->buckets);
|
|
223
371
|
m->buckets = buckets;
|
|
224
372
|
m->nbuckets = nbuckets;
|
|
@@ -227,8 +375,8 @@ static void scr_map_rebuild_buckets(ScrMap *m, size_t nbuckets) {
|
|
|
227
375
|
uint64_t hash = m->entries[e].hash;
|
|
228
376
|
if (!hash) continue;
|
|
229
377
|
size_t i = hash & mask;
|
|
230
|
-
while (
|
|
231
|
-
|
|
378
|
+
while (scr_map_bucket(m, i) != SCR_MAP_EMPTY) i = (i + 1) & mask;
|
|
379
|
+
scr_map_bucket_set(m, i, e, hash);
|
|
232
380
|
}
|
|
233
381
|
}
|
|
234
382
|
|
|
@@ -370,23 +518,28 @@ ScrMap *scr_map_retain(ScrMap *m) {
|
|
|
370
518
|
return m;
|
|
371
519
|
}
|
|
372
520
|
|
|
521
|
+
static void scr_map_destroy(void *object) {
|
|
522
|
+
ScrMap *m = object;
|
|
523
|
+
scr_weak_dispose(m);
|
|
524
|
+
for (size_t e = 0; e < m->nentries; e++) {
|
|
525
|
+
if (!m->entries[e].hash) continue;
|
|
526
|
+
scr_map_release_key(m, m->entries[e].key);
|
|
527
|
+
scr_map_release_val(m, m->entries[e].val);
|
|
528
|
+
}
|
|
529
|
+
free(m->entries);
|
|
530
|
+
free(m->buckets);
|
|
531
|
+
#ifdef SCR_RC_AUDIT
|
|
532
|
+
scr_live_maps--;
|
|
533
|
+
#endif
|
|
534
|
+
if (m->key_trace || m->val_trace) scr_cyc_free(m);
|
|
535
|
+
else free(m);
|
|
536
|
+
}
|
|
537
|
+
|
|
373
538
|
void scr_map_release(ScrMap *m) {
|
|
374
539
|
if (!m || m->rc == SIZE_MAX) return; /* NULL: an uninitialized `let` local */
|
|
375
540
|
if (--m->rc == 0) {
|
|
376
|
-
scr_weak_dispose(m);
|
|
377
541
|
if (m->key_trace || m->val_trace) scr_cyc_on_dead(m);
|
|
378
|
-
|
|
379
|
-
if (!m->entries[e].hash) continue;
|
|
380
|
-
scr_map_release_key(m, m->entries[e].key);
|
|
381
|
-
scr_map_release_val(m, m->entries[e].val);
|
|
382
|
-
}
|
|
383
|
-
free(m->entries);
|
|
384
|
-
free(m->buckets);
|
|
385
|
-
#ifdef SCR_RC_AUDIT
|
|
386
|
-
scr_live_maps--;
|
|
387
|
-
#endif
|
|
388
|
-
if (m->key_trace || m->val_trace) scr_cyc_free(m);
|
|
389
|
-
else free(m);
|
|
542
|
+
scr_rc_destroy(m, scr_map_destroy);
|
|
390
543
|
} else if (m->key_trace || m->val_trace) {
|
|
391
544
|
scr_cyc_on_release(m); /* possible cycle root; may collect — m is done */
|
|
392
545
|
}
|
|
@@ -414,19 +567,21 @@ void scr_map_clear(ScrMap *m) {
|
|
|
414
567
|
* after the clear append past them and ARE visited (Node-exact). */
|
|
415
568
|
m->nentries = 0;
|
|
416
569
|
}
|
|
417
|
-
|
|
570
|
+
if (m->nbuckets) {
|
|
571
|
+
bool compact = scr_map_compact_buckets(m->nbuckets);
|
|
572
|
+
memset(m->buckets, compact ? 0 : 0xff,
|
|
573
|
+
m->nbuckets * (compact ? sizeof(uint32_t) : sizeof(size_t)));
|
|
574
|
+
}
|
|
418
575
|
}
|
|
419
576
|
|
|
420
577
|
/* ── has / delete ──────────────────────────────────────────────────────── */
|
|
421
578
|
|
|
422
579
|
bool scr_map_has_f64(const ScrMap *m, double key) {
|
|
423
|
-
|
|
424
|
-
return scr_map_find(m, scr_map_hash_word(k), k) != SCR_MAP_EMPTY;
|
|
580
|
+
return scr_map_find_f64(m, key) != SCR_MAP_EMPTY;
|
|
425
581
|
}
|
|
426
582
|
|
|
427
583
|
bool scr_map_has_str(const ScrMap *m, const ScrStr *key) {
|
|
428
|
-
|
|
429
|
-
return scr_map_find(m, scr_map_hash_str(key), k) != SCR_MAP_EMPTY;
|
|
584
|
+
return scr_map_find_str(m, key) != SCR_MAP_EMPTY;
|
|
430
585
|
}
|
|
431
586
|
|
|
432
587
|
static bool scr_map_delete_found(ScrMap *m, size_t e) {
|
|
@@ -439,19 +594,21 @@ static bool scr_map_delete_found(ScrMap *m, size_t e) {
|
|
|
439
594
|
}
|
|
440
595
|
|
|
441
596
|
bool scr_map_delete_f64(ScrMap *m, double key) {
|
|
442
|
-
|
|
443
|
-
return scr_map_delete_found(m, scr_map_find(m, scr_map_hash_word(k), k));
|
|
597
|
+
return scr_map_delete_found(m, scr_map_find_f64(m, key));
|
|
444
598
|
}
|
|
445
599
|
|
|
446
600
|
bool scr_map_delete_str(ScrMap *m, const ScrStr *key) {
|
|
447
|
-
|
|
448
|
-
return scr_map_delete_found(m, scr_map_find(m, scr_map_hash_str(key), k));
|
|
601
|
+
return scr_map_delete_found(m, scr_map_find_str(m, key));
|
|
449
602
|
}
|
|
450
603
|
|
|
451
604
|
/* REF keys: identity hashing over the pointer bits (see the header's
|
|
452
605
|
* SCR_MAP_KEY_REF note). Probes never retain; storage does. */
|
|
453
606
|
static size_t scr_map_find_ref(const ScrMap *m, const void *key) {
|
|
607
|
+
if (m->nlive == 0) return SCR_MAP_EMPTY;
|
|
454
608
|
uint64_t k = scr_map_slot_from_ptr((void *)key);
|
|
609
|
+
if (m->key_kind == SCR_MAP_KEY_REF) {
|
|
610
|
+
return scr_map_find_with(m, scr_map_hash_word(k), k, SCR_MAP_LOOKUP_WORD);
|
|
611
|
+
}
|
|
455
612
|
return scr_map_find(m, scr_map_hash_key(m, k), k);
|
|
456
613
|
}
|
|
457
614
|
|
|
@@ -472,7 +629,7 @@ bool scr_map_delete_ref(ScrMap *m, const void *key) {
|
|
|
472
629
|
static void scr_map_set(ScrMap *m, uint64_t hash, uint64_t key, uint64_t val) {
|
|
473
630
|
hash = hash ? hash : 1;
|
|
474
631
|
size_t slot = scr_map_probe(m, hash, key);
|
|
475
|
-
size_t e = m->nbuckets == 0 ? scr_map_find(m, hash, key) : m
|
|
632
|
+
size_t e = m->nbuckets == 0 ? scr_map_find(m, hash, key) : scr_map_bucket(m, slot);
|
|
476
633
|
if (e != SCR_MAP_EMPTY) {
|
|
477
634
|
uint64_t old = m->entries[e].val;
|
|
478
635
|
m->entries[e].val = val; /* unlink before releasing (cycle collector) */
|
|
@@ -486,7 +643,7 @@ static void scr_map_set(ScrMap *m, uint64_t hash, uint64_t key, uint64_t val) {
|
|
|
486
643
|
if (m->nbuckets && (m->nentries != old_entries || m->nbuckets != old_buckets)) {
|
|
487
644
|
size_t mask = m->nbuckets - 1;
|
|
488
645
|
slot = hash & mask;
|
|
489
|
-
while (m
|
|
646
|
+
while (scr_map_bucket(m, slot) != SCR_MAP_EMPTY) slot = (slot + 1) & mask;
|
|
490
647
|
}
|
|
491
648
|
size_t idx = m->nentries++;
|
|
492
649
|
m->entries[idx].key = key;
|
|
@@ -513,7 +670,7 @@ static void scr_map_set(ScrMap *m, uint64_t hash, uint64_t key, uint64_t val) {
|
|
|
513
670
|
} else if (scr_map_ref_key(m->key_kind)) {
|
|
514
671
|
m->key_retain(scr_map_slot_to_ptr(key)); /* key is borrowed */
|
|
515
672
|
}
|
|
516
|
-
if (m->nbuckets) m
|
|
673
|
+
if (m->nbuckets) scr_map_bucket_set(m, slot, idx, hash);
|
|
517
674
|
}
|
|
518
675
|
|
|
519
676
|
static void scr_map_set_f64_key(ScrMap *m, double key, uint64_t val) {
|
|
@@ -570,15 +727,6 @@ ScrMap *scr_set_new_ref(void *(*elem_retain)(void *), void (*elem_release)(void
|
|
|
570
727
|
|
|
571
728
|
/* ── get ───────────────────────────────────────────────────────────────── */
|
|
572
729
|
|
|
573
|
-
static size_t scr_map_find_f64(const ScrMap *m, double key) {
|
|
574
|
-
uint64_t k = scr_map_f64_bits(key);
|
|
575
|
-
return scr_map_find(m, scr_map_hash_word(k), k);
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
static size_t scr_map_find_str(const ScrMap *m, const ScrStr *key) {
|
|
579
|
-
return scr_map_find(m, scr_map_hash_str(key), scr_map_slot_from_ptr((void *)key));
|
|
580
|
-
}
|
|
581
|
-
|
|
582
730
|
bool scr_map_get_f64_f64(const ScrMap *m, double key, double *out) {
|
|
583
731
|
size_t e = scr_map_find_f64(m, key);
|
|
584
732
|
if (e == SCR_MAP_EMPTY) return false;
|
|
@@ -641,8 +789,9 @@ void *scr_map_get_ref_ref(const ScrMap *m, const void *key) {
|
|
|
641
789
|
|
|
642
790
|
/* Boolean keys use unboxed 0/1 slots and the same probe path. */
|
|
643
791
|
static size_t scr_map_find_bool(const ScrMap *m, bool key) {
|
|
792
|
+
if (m->nlive == 0) return SCR_MAP_EMPTY;
|
|
644
793
|
uint64_t slot = key ? 1 : 0;
|
|
645
|
-
return
|
|
794
|
+
return scr_map_find_with(m, scr_map_hash_word(slot), slot, SCR_MAP_LOOKUP_WORD);
|
|
646
795
|
}
|
|
647
796
|
|
|
648
797
|
bool scr_map_has_bool(const ScrMap *m, bool key) {
|