@scriptc/cli-darwin-arm64 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.
Files changed (432) hide show
  1. package/dist/THIRD_PARTY_NOTICES +1 -1
  2. package/dist/bin/scriptc +0 -0
  3. package/dist/bin/scriptc.json +1 -1
  4. package/dist/lib/declarations/scriptc-node-fallback.d.ts +972 -245
  5. package/dist/lib/declarations/scriptc-overrides.d.ts +5 -1
  6. package/dist/lib/declarations/scriptc.d.ts +22 -2
  7. package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
  8. package/dist/lib/llvm/package.json +1 -1
  9. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_array.o +0 -0
  10. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_assert.o +0 -0
  11. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async.o +0 -0
  12. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
  13. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
  14. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_child.o +0 -0
  15. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_closure.o +0 -0
  16. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console.o +0 -0
  17. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_context.o +0 -0
  18. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_copying.o +0 -0
  19. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
  20. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
  21. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_error.o +0 -0
  22. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events.o +0 -0
  23. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
  24. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_exception.o +0 -0
  25. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
  26. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
  27. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_json.o +0 -0
  28. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_lib.o +0 -0
  29. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_map.o +0 -0
  30. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_number.o +0 -0
  31. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_object.o +0 -0
  32. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_readline.o +0 -0
  33. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_regex.o +0 -0
  34. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_shared.o +0 -0
  35. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_stream.o +0 -0
  36. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_string.o +0 -0
  37. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_tls.o +0 -0
  38. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_union.o +0 -0
  39. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_array.o +0 -0
  40. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_assert.o +0 -0
  41. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_async.o +0 -0
  42. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_async_dyn.o +0 -0
  43. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bigint.o +0 -0
  44. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bigint_assert.o +0 -0
  45. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bytes.o +0 -0
  46. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_bytes_io.o +0 -0
  47. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_child.o +0 -0
  48. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_closure.o +0 -0
  49. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_console.o +0 -0
  50. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_console_native.o +0 -0
  51. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_context.o +0 -0
  52. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_copying.o +0 -0
  53. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_crypto_async.o +0 -0
  54. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_cycle.o +0 -0
  55. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dc.o +0 -0
  56. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dgram.o +0 -0
  57. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dyn_handle.o +0 -0
  58. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_dyn_invoke.o +0 -0
  59. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_error.o +0 -0
  60. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_events.o +0 -0
  61. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_events_emitter.o +0 -0
  62. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_exception.o +0 -0
  63. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_fetch.o +0 -0
  64. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_ffi.o +0 -0
  65. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_ffi_queue.o +0 -0
  66. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_file_handle.o +0 -0
  67. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_grapheme.o +0 -0
  68. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_http.o +0 -0
  69. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_http2.o +0 -0
  70. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_inspect.o +0 -0
  71. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_json.o +0 -0
  72. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_lib.o +0 -0
  73. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_epoll.o +0 -0
  74. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_kqueue.o +0 -0
  75. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_loop_wsapoll.o +0 -0
  76. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_map.o +0 -0
  77. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_net.o +0 -0
  78. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_node_builtin.o +0 -0
  79. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_number.o +0 -0
  80. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_object.o +0 -0
  81. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_path.o +0 -0
  82. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_qs.o +0 -0
  83. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_readline.o +0 -0
  84. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_regex.o +0 -0
  85. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_shared.o +0 -0
  86. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_stream.o +0 -0
  87. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_string.o +0 -0
  88. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_symbol.o +0 -0
  89. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_test.o +0 -0
  90. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_tls.o +0 -0
  91. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_tls_ca.o +0 -0
  92. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_union.o +0 -0
  93. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_url.o +0 -0
  94. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_url_params.o +0 -0
  95. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util.o +0 -0
  96. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util_compare.o +0 -0
  97. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_util_style.o +0 -0
  98. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_watch.o +0 -0
  99. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default-workers/scr_zlib.o +0 -0
  100. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
  101. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
  102. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
  103. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
  104. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
  105. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
  106. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
  107. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
  108. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_context.o +0 -0
  109. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_copying.o +0 -0
  110. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
  111. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
  112. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
  113. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
  114. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
  115. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
  116. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
  117. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
  118. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
  119. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
  120. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
  121. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
  122. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
  123. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
  124. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
  125. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_shared.o +0 -0
  126. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
  127. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
  128. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
  129. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
  130. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  131. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  132. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
  133. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_mailbox.o +0 -0
  134. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_message.o +0 -0
  135. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_worker.o +0 -0
  136. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/workers/scr_worker_events.o +0 -0
  137. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
  138. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
  139. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
  140. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
  141. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
  142. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_context.o +0 -0
  143. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_copying.o +0 -0
  144. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
  145. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
  146. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
  147. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
  148. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
  149. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
  150. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
  151. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
  152. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
  153. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
  154. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_shared.o +0 -0
  155. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
  156. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
  157. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  158. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_array.o +0 -0
  159. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
  160. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
  161. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
  162. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
  163. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_context.o +0 -0
  164. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_copying.o +0 -0
  165. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
  166. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_error.o +0 -0
  167. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
  168. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
  169. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_json.o +0 -0
  170. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
  171. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_map.o +0 -0
  172. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_number.o +0 -0
  173. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_object.o +0 -0
  174. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
  175. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_shared.o +0 -0
  176. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_string.o +0 -0
  177. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_union.o +0 -0
  178. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  179. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
  180. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
  181. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
  182. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
  183. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
  184. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
  185. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_context.o +0 -0
  186. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
  187. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
  188. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
  189. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
  190. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
  191. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
  192. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
  193. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
  194. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
  195. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
  196. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
  197. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
  198. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_shared.o +0 -0
  199. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
  200. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
  201. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
  202. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  203. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
  204. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
  205. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
  206. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
  207. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
  208. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
  209. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_context.o +0 -0
  210. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
  211. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
  212. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
  213. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
  214. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
  215. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
  216. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
  217. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
  218. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
  219. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
  220. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
  221. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
  222. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_shared.o +0 -0
  223. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
  224. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
  225. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
  226. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  227. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_array.o +0 -0
  228. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_assert.o +0 -0
  229. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async.o +0 -0
  230. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes.o +0 -0
  231. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
  232. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_child.o +0 -0
  233. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_closure.o +0 -0
  234. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console.o +0 -0
  235. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_context.o +0 -0
  236. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_copying.o +0 -0
  237. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_cycle.o +0 -0
  238. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_dgram.o +0 -0
  239. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_error.o +0 -0
  240. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events.o +0 -0
  241. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
  242. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_exception.o +0 -0
  243. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_fetch.o +0 -0
  244. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
  245. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_json.o +0 -0
  246. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_lib.o +0 -0
  247. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_map.o +0 -0
  248. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_number.o +0 -0
  249. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_object.o +0 -0
  250. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_readline.o +0 -0
  251. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_regex.o +0 -0
  252. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_shared.o +0 -0
  253. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_stream.o +0 -0
  254. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_string.o +0 -0
  255. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_tls.o +0 -0
  256. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_union.o +0 -0
  257. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_util_compare.o +0 -0
  258. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_array.o +0 -0
  259. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_assert.o +0 -0
  260. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_async.o +0 -0
  261. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_async_dyn.o +0 -0
  262. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bigint.o +0 -0
  263. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bigint_assert.o +0 -0
  264. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bytes.o +0 -0
  265. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_bytes_io.o +0 -0
  266. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_child.o +0 -0
  267. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_closure.o +0 -0
  268. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_console.o +0 -0
  269. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_console_native.o +0 -0
  270. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_context.o +0 -0
  271. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_copying.o +0 -0
  272. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_crypto_async.o +0 -0
  273. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_cycle.o +0 -0
  274. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dc.o +0 -0
  275. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dgram.o +0 -0
  276. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dyn_handle.o +0 -0
  277. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_dyn_invoke.o +0 -0
  278. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_error.o +0 -0
  279. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_events.o +0 -0
  280. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_events_emitter.o +0 -0
  281. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_exception.o +0 -0
  282. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_fetch.o +0 -0
  283. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_ffi.o +0 -0
  284. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_ffi_queue.o +0 -0
  285. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_file_handle.o +0 -0
  286. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_grapheme.o +0 -0
  287. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_http.o +0 -0
  288. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_http2.o +0 -0
  289. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_inspect.o +0 -0
  290. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_json.o +0 -0
  291. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_lib.o +0 -0
  292. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_epoll.o +0 -0
  293. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_kqueue.o +0 -0
  294. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_loop_wsapoll.o +0 -0
  295. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_map.o +0 -0
  296. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_net.o +0 -0
  297. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_node_builtin.o +0 -0
  298. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_number.o +0 -0
  299. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_object.o +0 -0
  300. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_path.o +0 -0
  301. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_qs.o +0 -0
  302. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_readline.o +0 -0
  303. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_regex.o +0 -0
  304. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_shared.o +0 -0
  305. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_stream.o +0 -0
  306. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_string.o +0 -0
  307. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_symbol.o +0 -0
  308. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_test.o +0 -0
  309. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_tls.o +0 -0
  310. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_tls_ca.o +0 -0
  311. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_union.o +0 -0
  312. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_url.o +0 -0
  313. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_url_params.o +0 -0
  314. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util.o +0 -0
  315. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util_compare.o +0 -0
  316. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_util_style.o +0 -0
  317. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_watch.o +0 -0
  318. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default-workers/scr_zlib.o +0 -0
  319. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
  320. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
  321. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
  322. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
  323. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
  324. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
  325. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
  326. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
  327. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_context.o +0 -0
  328. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_copying.o +0 -0
  329. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
  330. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
  331. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
  332. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
  333. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
  334. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
  335. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
  336. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
  337. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
  338. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
  339. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
  340. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
  341. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
  342. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
  343. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
  344. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_shared.o +0 -0
  345. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
  346. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
  347. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
  348. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
  349. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_util_compare.o +0 -0
  350. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  351. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  352. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy-workers/scr_bytes.o +0 -0
  353. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_mailbox.o +0 -0
  354. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_message.o +0 -0
  355. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_worker.o +0 -0
  356. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/workers/scr_worker_events.o +0 -0
  357. package/dist/lib/runtime-darwin-arm64/package.json +1 -1
  358. package/dist/lib/runtime-darwin-arm64/runtime-pack.json +3318 -790
  359. package/dist/lib/runtime-sources/package.json +1 -1
  360. package/dist/lib/runtime-sources/src/scr_array.c +479 -46
  361. package/dist/lib/runtime-sources/src/scr_assert.c +3 -3
  362. package/dist/lib/runtime-sources/src/scr_async.c +401 -71
  363. package/dist/lib/runtime-sources/src/scr_async.test.ts +16 -6
  364. package/dist/lib/runtime-sources/src/scr_async_dyn.c +30 -30
  365. package/dist/lib/runtime-sources/src/scr_bytes.c +487 -221
  366. package/dist/lib/runtime-sources/src/scr_bytes.test.c +85 -0
  367. package/dist/lib/runtime-sources/src/scr_bytes_io.c +45 -64
  368. package/dist/lib/runtime-sources/src/scr_child.c +48 -30
  369. package/dist/lib/runtime-sources/src/scr_closure.c +21 -11
  370. package/dist/lib/runtime-sources/src/scr_console.c +27 -5
  371. package/dist/lib/runtime-sources/src/scr_context.c +167 -0
  372. package/dist/lib/runtime-sources/src/scr_context.test.c +118 -0
  373. package/dist/lib/runtime-sources/src/scr_context.test.ts +47 -0
  374. package/dist/lib/runtime-sources/src/scr_copying.c +13 -2
  375. package/dist/lib/runtime-sources/src/scr_cycle.c +112 -12
  376. package/dist/lib/runtime-sources/src/scr_dc.c +8 -8
  377. package/dist/lib/runtime-sources/src/scr_dgram.c +10 -7
  378. package/dist/lib/runtime-sources/src/scr_error.c +26 -14
  379. package/dist/lib/runtime-sources/src/scr_events.c +45 -31
  380. package/dist/lib/runtime-sources/src/scr_events_emitter.c +34 -1
  381. package/dist/lib/runtime-sources/src/scr_exception.c +26 -7
  382. package/dist/lib/runtime-sources/src/scr_fetch.c +23 -20
  383. package/dist/lib/runtime-sources/src/scr_fetch_curl.c +1 -1
  384. package/dist/lib/runtime-sources/src/scr_ffi.c +3 -3
  385. package/dist/lib/runtime-sources/src/scr_file_handle.c +1 -0
  386. package/dist/lib/runtime-sources/src/scr_http.c +20 -16
  387. package/dist/lib/runtime-sources/src/scr_http2.c +10 -8
  388. package/dist/lib/runtime-sources/src/scr_inspect.c +1 -0
  389. package/dist/lib/runtime-sources/src/scr_island.c +1 -1
  390. package/dist/lib/runtime-sources/src/scr_json.c +652 -189
  391. package/dist/lib/runtime-sources/src/scr_json.test.c +339 -1
  392. package/dist/lib/runtime-sources/src/scr_json.test.ts +59 -25
  393. package/dist/lib/runtime-sources/src/scr_key.h +92 -0
  394. package/dist/lib/runtime-sources/src/scr_lib.c +256 -136
  395. package/dist/lib/runtime-sources/src/scr_mailbox.c +233 -0
  396. package/dist/lib/runtime-sources/src/scr_mailbox.h +28 -0
  397. package/dist/lib/runtime-sources/src/scr_mailbox.test.c +86 -0
  398. package/dist/lib/runtime-sources/src/scr_mailbox.test.ts +46 -0
  399. package/dist/lib/runtime-sources/src/scr_map.c +240 -107
  400. package/dist/lib/runtime-sources/src/scr_message.c +443 -0
  401. package/dist/lib/runtime-sources/src/scr_message.h +14 -0
  402. package/dist/lib/runtime-sources/src/scr_message.test.c +152 -0
  403. package/dist/lib/runtime-sources/src/scr_message.test.ts +44 -0
  404. package/dist/lib/runtime-sources/src/scr_net.c +14 -12
  405. package/dist/lib/runtime-sources/src/scr_number.c +36 -4
  406. package/dist/lib/runtime-sources/src/scr_numeric.h +25 -0
  407. package/dist/lib/runtime-sources/src/scr_numeric.test.c +37 -0
  408. package/dist/lib/runtime-sources/src/scr_numeric.test.ts +33 -0
  409. package/dist/lib/runtime-sources/src/scr_object.c +9 -4
  410. package/dist/lib/runtime-sources/src/scr_path.c +1 -1
  411. package/dist/lib/runtime-sources/src/scr_readline.c +8 -8
  412. package/dist/lib/runtime-sources/src/scr_regex.c +351 -167
  413. package/dist/lib/runtime-sources/src/scr_runtime.h +207 -34
  414. package/dist/lib/runtime-sources/src/scr_shared.c +280 -0
  415. package/dist/lib/runtime-sources/src/scr_shared.test.c +113 -0
  416. package/dist/lib/runtime-sources/src/scr_shared.test.ts +45 -0
  417. package/dist/lib/runtime-sources/src/scr_stream.c +9 -9
  418. package/dist/lib/runtime-sources/src/scr_string.c +365 -141
  419. package/dist/lib/runtime-sources/src/scr_test.c +8 -8
  420. package/dist/lib/runtime-sources/src/scr_tls.c +12 -12
  421. package/dist/lib/runtime-sources/src/scr_tls_ca.c +34 -12
  422. package/dist/lib/runtime-sources/src/scr_union.c +10 -5
  423. package/dist/lib/runtime-sources/src/scr_util_compare.c +1 -0
  424. package/dist/lib/runtime-sources/src/scr_util_style.c +11 -11
  425. package/dist/lib/runtime-sources/src/scr_watch.c +16 -6
  426. package/dist/lib/runtime-sources/src/scr_worker.c +232 -0
  427. package/dist/lib/runtime-sources/src/scr_worker.h +42 -0
  428. package/dist/lib/runtime-sources/src/scr_worker.test.c +115 -0
  429. package/dist/lib/runtime-sources/src/scr_worker.test.ts +49 -0
  430. package/dist/lib/runtime-sources/src/scr_worker_events.c +443 -0
  431. package/dist/lib/runtime-sources/src/scr_zlib.c +6 -0
  432. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scriptc/runtime",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "scriptc native runtime sources and vendored dependencies",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://scriptc.dev",
@@ -147,10 +147,14 @@ static void scr_arr_grow_dense(ScrArr *a, size_t need) {
147
147
  cap *= 2;
148
148
  }
149
149
  if (cap > SCR_ARR_DENSE_LIMIT) cap = SCR_ARR_DENSE_LIMIT;
150
- uint64_t *data = realloc(a->data, cap * sizeof(uint64_t));
150
+ /* Values and states share one allocation. Move the old states before
151
+ * publishing the larger capacity: their previous location is now part
152
+ * of the value area. Existing data and state pointers keep their ABI. */
153
+ if (cap > SIZE_MAX / (sizeof(uint64_t) + sizeof(uint8_t))) scr_arr_oom();
154
+ uint64_t *data = realloc(a->data, cap * (sizeof(uint64_t) + sizeof(uint8_t)));
151
155
  if (!data) scr_arr_oom();
152
- uint8_t *present = realloc(a->present, cap);
153
- if (!present) scr_arr_oom();
156
+ uint8_t *present = (uint8_t *)(data + cap);
157
+ if (a->cap) memmove(present, (uint8_t *)(data + a->cap), a->cap);
154
158
  memset(present + a->cap, 0, cap - a->cap);
155
159
  a->data = data;
156
160
  a->present = present;
@@ -397,11 +401,58 @@ static ScrArrStorage scr_arr_take_storage(ScrArr *a) {
397
401
 
398
402
  static void scr_arr_free_storage(ScrArrStorage *s) {
399
403
  free(s->data);
400
- free(s->present);
401
404
  free(s->sparse);
402
405
  memset(s, 0, sizeof(*s));
403
406
  }
404
407
 
408
+ /* Dense storage may still contain holes and explicit undefined. These
409
+ * operations move ownership with the slots and move the states alongside
410
+ * them; they never inspect an uninitialized hole payload. */
411
+ static bool scr_arr_is_dense(const ScrArr *a) {
412
+ return a->len <= a->cap && a->sparse_len == 0;
413
+ }
414
+
415
+ static void scr_arr_move_dense(ScrArr *a, size_t to, size_t from, size_t count) {
416
+ if (count == 0) return;
417
+ memmove(a->data + to, a->data + from, count * sizeof(*a->data));
418
+ memmove(a->present + to, a->present + from, count);
419
+ }
420
+
421
+ static void scr_arr_clear_dense(ScrArr *a, size_t from, size_t count) {
422
+ if (count == 0) return;
423
+ memset(a->present + from, SCR_ARR_HOLE, count);
424
+ memset(a->data + from, 0, count * sizeof(*a->data));
425
+ }
426
+
427
+ /* The destination owns no values in this range. Only retain adapters run
428
+ * while copying references: no release can collect an intermediate copy.
429
+ * Self-appends use disjoint ranges after reserving capacity. */
430
+ static void scr_arr_copy_dense(ScrArr *dst, size_t to, const ScrArr *src,
431
+ size_t from, size_t count, bool reverse,
432
+ bool materialize_holes) {
433
+ if (count == 0) return;
434
+ if (!reverse) {
435
+ memcpy(dst->data + to, src->data + from, count * sizeof(*dst->data));
436
+ memcpy(dst->present + to, src->present + from, count);
437
+ } else {
438
+ for (size_t i = 0; i < count; i++) {
439
+ size_t source = from + count - i - 1;
440
+ memcpy(dst->data + to + i, src->data + source, sizeof(*dst->data));
441
+ dst->present[to + i] = src->present[source];
442
+ }
443
+ }
444
+ bool refs = scr_elem_is_ref(src->elem);
445
+ if (!refs && !materialize_holes) return;
446
+ for (size_t i = to; i < to + count; i++) {
447
+ if (dst->present[i] == SCR_ARR_VALUE) {
448
+ if (refs) dst->data[i] = scr_elem_retain_slot(src, dst->data[i]);
449
+ } else if (materialize_holes && dst->present[i] == SCR_ARR_HOLE) {
450
+ dst->data[i] = 0;
451
+ dst->present[i] = SCR_ARR_UNDEFINED;
452
+ }
453
+ }
454
+ }
455
+
405
456
  ScrArr *scr_arr_new(ScrElemKind elem, size_t initial_cap) {
406
457
  ScrArr *a = malloc(sizeof(ScrArr));
407
458
  if (!a) scr_arr_oom();
@@ -455,7 +506,6 @@ void scr_arr_trace_v(void *a0, ScrTraceVisit visit, void *ctx) {
455
506
  static void scr_arr_gc_free(void *a0) {
456
507
  ScrArr *a = (ScrArr *)a0;
457
508
  free(a->data);
458
- free(a->present);
459
509
  free(a->sparse);
460
510
  for (size_t i = 0; i < a->prop_len; i++) free(a->props[i].key);
461
511
  free(a->props);
@@ -498,52 +548,56 @@ ScrArr *scr_arr_new_ref(void *(*elem_retain)(void *),
498
548
  return a;
499
549
  }
500
550
 
501
- void scr_arr_release(ScrArr *a) {
502
- if (!a || a->rc == SIZE_MAX) return; /* NULL: an uninitialized `let` local */
503
- if (--a->rc == 0) {
504
- if (a->elem_trace) scr_cyc_on_dead(a);
505
- scr_dyn_release(a->metadata);
506
- a->metadata = NULL;
507
- if (scr_elem_is_ref(a->elem)) {
508
- for (size_t i = 0, end = a->len < a->cap ? a->len : a->cap; i < end; i++) {
509
- if (a->present[i] != SCR_ARR_HOLE) {
510
- uint64_t old = a->data[i];
511
- uint8_t state = a->present[i];
512
- a->present[i] = 0;
513
- a->data[i] = 0;
514
- if (state == SCR_ARR_VALUE) scr_elem_release(a, old);
515
- }
516
- }
517
- while (a->sparse_len > 0) {
518
- size_t i = a->sparse_len - 1;
519
- uint64_t old = a->sparse[i].slot;
520
- uint8_t state = a->sparse[i].state;
521
- a->sparse_len = i;
522
- if (state == SCR_ARR_VALUE) scr_elem_release(a, old);
523
- }
524
- while (a->prop_len > 0) {
525
- size_t i = a->prop_len - 1;
526
- uint64_t old = a->props[i].slot;
527
- uint8_t state = a->props[i].state;
528
- free(a->props[i].key);
529
- a->prop_len = i;
551
+ static void scr_arr_destroy(void *object) {
552
+ ScrArr *a = object;
553
+ scr_dyn_release(a->metadata);
554
+ a->metadata = NULL;
555
+ if (scr_elem_is_ref(a->elem)) {
556
+ for (size_t i = 0, end = a->len < a->cap ? a->len : a->cap; i < end; i++) {
557
+ if (a->present[i] != SCR_ARR_HOLE) {
558
+ uint64_t old = a->data[i];
559
+ uint8_t state = a->present[i];
560
+ a->present[i] = 0;
561
+ a->data[i] = 0;
530
562
  if (state == SCR_ARR_VALUE) scr_elem_release(a, old);
531
563
  }
532
564
  }
533
- if (a->elem_trace) {
534
- scr_arr_gc_free(a);
535
- } else {
536
- free(a->data);
537
- free(a->present);
538
- free(a->sparse);
539
- for (size_t i = 0; i < a->prop_len; i++) free(a->props[i].key);
540
- free(a->props);
565
+ while (a->sparse_len > 0) {
566
+ size_t i = a->sparse_len - 1;
567
+ uint64_t old = a->sparse[i].slot;
568
+ uint8_t state = a->sparse[i].state;
569
+ a->sparse_len = i;
570
+ if (state == SCR_ARR_VALUE) scr_elem_release(a, old);
571
+ }
572
+ while (a->prop_len > 0) {
573
+ size_t i = a->prop_len - 1;
574
+ uint64_t old = a->props[i].slot;
575
+ uint8_t state = a->props[i].state;
576
+ free(a->props[i].key);
577
+ a->prop_len = i;
578
+ if (state == SCR_ARR_VALUE) scr_elem_release(a, old);
579
+ }
580
+ }
581
+ if (a->elem_trace) {
582
+ scr_arr_gc_free(a);
583
+ } else {
584
+ free(a->data);
585
+ free(a->sparse);
586
+ for (size_t i = 0; i < a->prop_len; i++) free(a->props[i].key);
587
+ free(a->props);
541
588
  #ifdef SCR_RC_AUDIT
542
- scr_live_arrays--;
589
+ scr_live_arrays--;
543
590
  #endif
544
- scr_weak_dispose(a);
545
- free(a);
546
- }
591
+ scr_weak_dispose(a);
592
+ free(a);
593
+ }
594
+ }
595
+
596
+ void scr_arr_release(ScrArr *a) {
597
+ if (!a || a->rc == SIZE_MAX) return; /* NULL: an uninitialized `let` local */
598
+ if (--a->rc == 0) {
599
+ if (a->elem_trace) scr_cyc_on_dead(a);
600
+ scr_rc_destroy(a, scr_arr_destroy);
547
601
  } else if (a->elem_trace) {
548
602
  scr_cyc_on_release(a); /* possible cycle root; may collect */
549
603
  }
@@ -649,6 +703,16 @@ void scr_arr_copy_range_ex(ScrArr *dst, size_t dst_start, const ScrArr *src,
649
703
  size_t src_start, size_t count, bool reverse,
650
704
  bool materialize_holes) {
651
705
  if (count == 0) return;
706
+ if (src != dst && src_start <= src->cap && count <= src->cap - src_start &&
707
+ dst_start <= dst->cap && count <= dst->cap - dst_start) {
708
+ size_t empty = 0;
709
+ while (empty < count && dst->present[dst_start + empty] == SCR_ARR_HOLE) empty++;
710
+ if (empty == count) {
711
+ scr_arr_copy_dense(dst, dst_start, src, src_start, count, reverse,
712
+ materialize_holes);
713
+ return;
714
+ }
715
+ }
652
716
  size_t end = src_start + count;
653
717
  size_t dense_start = src_start < src->cap ? src_start : src->cap;
654
718
  size_t dense_end = end < src->cap ? end : src->cap;
@@ -678,6 +742,76 @@ void scr_arr_copy_range_ex(ScrArr *dst, size_t dst_start, const ScrArr *src,
678
742
  }
679
743
  }
680
744
 
745
+ static size_t scr_arr_relative_index(double value, size_t length) {
746
+ double integer = isnan(value) ? 0 : trunc(value);
747
+ if (integer < 0) integer += (double)length;
748
+ return integer <= 0 ? 0 : integer >= (double)length ? length : (size_t)integer;
749
+ }
750
+
751
+ ScrArr *scr_arr_copy_within(ScrArr *a, double target, double start, double end) {
752
+ size_t to = scr_arr_relative_index(target, a->len);
753
+ size_t from = scr_arr_relative_index(start, a->len);
754
+ size_t last = scr_arr_relative_index(end, a->len);
755
+ size_t count = last > from ? last - from : 0;
756
+ if (count > a->len - to) count = a->len - to;
757
+ if (count == 0 || from == to) return scr_arr_retain(a);
758
+ if (!scr_elem_is_ref(a->elem) && from < a->cap && count <= a->cap - from &&
759
+ to < a->cap && count <= a->cap - to) {
760
+ scr_arr_move_dense(a, to, from, count);
761
+ return scr_arr_retain(a);
762
+ }
763
+ bool backwards = from < to && to - from < count;
764
+ for (size_t i = 0; i < count; i++) {
765
+ size_t offset = backwards ? count - i - 1 : i;
766
+ uint64_t slot = 0;
767
+ uint8_t state = scr_arr_state_at(a, from + offset, &slot);
768
+ if (state == SCR_ARR_HOLE) {
769
+ scr_arr_delete(a, (double)(to + offset));
770
+ } else {
771
+ if (state == SCR_ARR_VALUE) slot = scr_elem_retain_slot(a, slot);
772
+ /* Each replacement publishes its edge before releasing the previous
773
+ * owner; cycle collection can run between successive positions. */
774
+ scr_arr_replace_state_owned(a, to + offset, slot, state);
775
+ }
776
+ }
777
+ return scr_arr_retain(a);
778
+ }
779
+
780
+ static ScrArr *scr_arr_fill_slot(ScrArr *a, uint64_t slot, uint8_t state,
781
+ double start, double end) {
782
+ size_t from = scr_arr_relative_index(start, a->len);
783
+ size_t until = scr_arr_relative_index(end, a->len);
784
+ if (from >= until) return scr_arr_retain(a);
785
+ bool refs = scr_elem_is_ref(a->elem);
786
+ if (!refs && until <= SCR_ARR_DENSE_LIMIT) {
787
+ scr_arr_grow_dense(a, until);
788
+ for (size_t i = from; i < until; i++) a->data[i] = slot;
789
+ memset(a->present + from, state, until - from);
790
+ } else {
791
+ for (size_t i = from; i < until; i++) {
792
+ uint64_t value = refs && state == SCR_ARR_VALUE ? scr_elem_retain_slot(a, slot) : slot;
793
+ scr_arr_replace_state_owned(a, i, value, state);
794
+ }
795
+ }
796
+ return scr_arr_retain(a);
797
+ }
798
+
799
+ ScrArr *scr_arr_fill_f64(ScrArr *a, double value, double start, double end) {
800
+ return scr_arr_fill_slot(a, scr_slot_from_f64(value), SCR_ARR_VALUE, start, end);
801
+ }
802
+
803
+ ScrArr *scr_arr_fill_bool(ScrArr *a, bool value, double start, double end) {
804
+ return scr_arr_fill_slot(a, value ? 1 : 0, SCR_ARR_VALUE, start, end);
805
+ }
806
+
807
+ ScrArr *scr_arr_fill_ref(ScrArr *a, void *value, double start, double end) {
808
+ return scr_arr_fill_slot(a, scr_slot_from_ptr(value), SCR_ARR_VALUE, start, end);
809
+ }
810
+
811
+ ScrArr *scr_arr_fill_undefined(ScrArr *a, double start, double end) {
812
+ return scr_arr_fill_slot(a, 0, SCR_ARR_UNDEFINED, start, end);
813
+ }
814
+
681
815
  /* ── Math.max/min over one spread number[] ─────────────────────────────
682
816
  * The JS fold exactly (ECMA Math.max/min applied to the elements): any
683
817
  * NaN poisons the result, +0 beats -0 for max (the reverse for min), and
@@ -854,6 +988,10 @@ void *scr_arr_get_ref(ScrArr *a, double i) {
854
988
  return p;
855
989
  }
856
990
 
991
+ void *scr_arr_borrow_ref(ScrArr *a, double i) {
992
+ return scr_slot_to_ptr(scr_arr_require_slot(a, i));
993
+ }
994
+
857
995
  /* ── writes: i == len appends ──────────────────────────────────────────── */
858
996
 
859
997
  static void scr_arr_set_slot(ScrArr *a, double i, uint64_t slot) {
@@ -924,10 +1062,33 @@ double scr_arr_push_ref(ScrArr *a, void *v) {
924
1062
  return scr_arr_push_slot(a, scr_slot_from_ptr(v));
925
1063
  }
926
1064
 
1065
+ double scr_arr_push_many(ScrArr *a, size_t count, const uint64_t *slots) {
1066
+ if (count > SCR_ARR_MAX_LENGTH - a->len) scr_arr_oom();
1067
+ size_t from = a->len, next = from + count;
1068
+ if (next <= SCR_ARR_DENSE_LIMIT) {
1069
+ scr_arr_grow_dense(a, next);
1070
+ if (count) {
1071
+ memcpy(a->data + from, slots, count * sizeof(*slots));
1072
+ memset(a->present + from, SCR_ARR_VALUE, count);
1073
+ }
1074
+ } else {
1075
+ for (size_t i = 0; i < count; i++) scr_arr_store_owned(a, from + i, slots[i]);
1076
+ }
1077
+ a->len = next;
1078
+ return (double)next;
1079
+ }
1080
+
927
1081
  double scr_arr_push_spread(ScrArr *a, const ScrArr *src) {
928
1082
  size_t old_len = a->len;
929
1083
  size_t add = src->len;
930
1084
  if (add > SCR_ARR_MAX_LENGTH - old_len) scr_arr_oom();
1085
+ if (scr_arr_is_dense(a) && scr_arr_is_dense(src) &&
1086
+ old_len + add <= SCR_ARR_DENSE_LIMIT) {
1087
+ scr_arr_grow_dense(a, old_len + add);
1088
+ scr_arr_copy_dense(a, old_len, src, 0, add, false, true);
1089
+ a->len += add;
1090
+ return (double)a->len;
1091
+ }
931
1092
  if (src == a) {
932
1093
  ScrArrStorage old = scr_arr_take_storage(a);
933
1094
  a->len = 0;
@@ -962,6 +1123,13 @@ double scr_arr_concat_copy(ScrArr *a, const ScrArr *src) {
962
1123
  size_t old_len = a->len;
963
1124
  size_t add = src->len;
964
1125
  if (add > SCR_ARR_MAX_LENGTH - old_len) scr_arr_oom();
1126
+ if (scr_arr_is_dense(a) && scr_arr_is_dense(src) &&
1127
+ old_len + add <= SCR_ARR_DENSE_LIMIT) {
1128
+ scr_arr_grow_dense(a, old_len + add);
1129
+ scr_arr_copy_dense(a, old_len, src, 0, add, false, false);
1130
+ a->len += add;
1131
+ return (double)a->len;
1132
+ }
965
1133
  if (src == a) {
966
1134
  ScrArrStorage old = scr_arr_take_storage(a);
967
1135
  a->len = 0;
@@ -1003,6 +1171,14 @@ static double scr_arr_unshift_slot(ScrArr *a, uint64_t slot) {
1003
1171
  scr_arr_trap_oob((double)a->len, a->len);
1004
1172
  }
1005
1173
  size_t old_len = a->len;
1174
+ if (scr_arr_is_dense(a) && old_len < SCR_ARR_DENSE_LIMIT) {
1175
+ scr_arr_grow_dense(a, old_len + 1);
1176
+ scr_arr_move_dense(a, 1, 0, old_len);
1177
+ a->data[0] = slot;
1178
+ a->present[0] = SCR_ARR_VALUE;
1179
+ a->len++;
1180
+ return (double)a->len;
1181
+ }
1006
1182
  ScrArrStorage old = scr_arr_take_storage(a);
1007
1183
  a->len = 0;
1008
1184
  scr_arr_store_owned(a, 0, slot);
@@ -1030,11 +1206,46 @@ double scr_arr_unshift_ref(ScrArr *a, void *v) {
1030
1206
  return scr_arr_unshift_slot(a, scr_slot_from_ptr(v));
1031
1207
  }
1032
1208
 
1209
+ double scr_arr_unshift_many(ScrArr *a, size_t count, const uint64_t *slots) {
1210
+ size_t old_len = a->len;
1211
+ if (count == 0) return (double)old_len;
1212
+ if (count > SCR_ARR_MAX_LENGTH - old_len) scr_arr_oom();
1213
+ if (scr_arr_is_dense(a) && old_len + count <= SCR_ARR_DENSE_LIMIT) {
1214
+ scr_arr_grow_dense(a, old_len + count);
1215
+ scr_arr_move_dense(a, count, 0, old_len);
1216
+ memcpy(a->data, slots, count * sizeof(*slots));
1217
+ memset(a->present, SCR_ARR_VALUE, count);
1218
+ } else {
1219
+ ScrArrStorage old = scr_arr_take_storage(a);
1220
+ for (size_t i = 0; i < count; i++) scr_arr_store_owned(a, i, slots[i]);
1221
+ for (size_t i = 0; i < old.cap; i++) {
1222
+ if (old.present[i] != SCR_ARR_HOLE)
1223
+ scr_arr_store_state_owned(a, i + count, old.data[i], old.present[i]);
1224
+ }
1225
+ for (size_t i = 0; i < old.sparse_len; i++) {
1226
+ scr_arr_store_state_owned(a, old.sparse[i].index + count,
1227
+ old.sparse[i].slot, old.sparse[i].state);
1228
+ }
1229
+ scr_arr_free_storage(&old);
1230
+ }
1231
+ a->len = old_len + count;
1232
+ return (double)a->len;
1233
+ }
1234
+
1033
1235
  double scr_arr_unshift_spread(ScrArr *a, const ScrArr *src) {
1034
1236
  size_t old_len = a->len;
1035
1237
  size_t add = src->len;
1036
1238
  if (add == 0) return (double)old_len;
1037
1239
  if (add > SCR_ARR_MAX_LENGTH - old_len) scr_arr_oom();
1240
+ if (scr_arr_is_dense(a) && scr_arr_is_dense(src) &&
1241
+ old_len + add <= SCR_ARR_DENSE_LIMIT) {
1242
+ scr_arr_grow_dense(a, old_len + add);
1243
+ scr_arr_move_dense(a, add, 0, old_len);
1244
+ /* A self-spread reads the original values at their moved location. */
1245
+ scr_arr_copy_dense(a, 0, src, src == a ? add : 0, add, false, true);
1246
+ a->len += add;
1247
+ return (double)a->len;
1248
+ }
1038
1249
  ScrArrStorage old = scr_arr_take_storage(a);
1039
1250
  a->len = 0;
1040
1251
  for (size_t i = 0; i < add; i++) {
@@ -1064,6 +1275,19 @@ double scr_arr_unshift_spread(ScrArr *a, const ScrArr *src) {
1064
1275
 
1065
1276
  ScrArr *scr_arr_reverse(ScrArr *a) {
1066
1277
  size_t len = a->len;
1278
+ if (scr_arr_is_dense(a)) {
1279
+ for (size_t i = 0; i < len / 2; i++) {
1280
+ size_t j = len - i - 1;
1281
+ uint64_t slot;
1282
+ memcpy(&slot, a->data + i, sizeof slot);
1283
+ memcpy(a->data + i, a->data + j, sizeof slot);
1284
+ memcpy(a->data + j, &slot, sizeof slot);
1285
+ uint8_t state = a->present[i];
1286
+ a->present[i] = a->present[j];
1287
+ a->present[j] = state;
1288
+ }
1289
+ return scr_arr_retain(a);
1290
+ }
1067
1291
  ScrArrStorage old = scr_arr_take_storage(a);
1068
1292
  a->len = len;
1069
1293
  for (size_t i = 0; i < old.cap; i++) {
@@ -1113,6 +1337,14 @@ uint8_t scr_arr_shift_state(ScrArr *a, uint64_t *slot_out) {
1113
1337
  if (slot_out) *slot_out = 0;
1114
1338
  if (a->len == 0) return SCR_ARR_HOLE;
1115
1339
  size_t old_len = a->len;
1340
+ if (scr_arr_is_dense(a)) {
1341
+ uint8_t state = a->present[0];
1342
+ if (slot_out && state == SCR_ARR_VALUE) *slot_out = a->data[0];
1343
+ scr_arr_move_dense(a, 0, 1, old_len - 1);
1344
+ scr_arr_clear_dense(a, old_len - 1, 1);
1345
+ a->len--;
1346
+ return state;
1347
+ }
1116
1348
  ScrArrStorage old = scr_arr_take_storage(a);
1117
1349
  uint64_t s = 0;
1118
1350
  uint8_t state = scr_arr_state_at_storage(&old, 0, &s);
@@ -1169,6 +1401,16 @@ ScrArr *scr_arr_splice(ScrArr *a, double start, double deleteCount) {
1169
1401
  : scr_arr_new(a->elem, n ? n : 1);
1170
1402
  out->len = n;
1171
1403
  size_t old_len = a->len;
1404
+ if (scr_arr_is_dense(a)) {
1405
+ if (n) {
1406
+ memcpy(out->data, a->data + from, n * sizeof(*a->data));
1407
+ memcpy(out->present, a->present + from, n);
1408
+ }
1409
+ scr_arr_move_dense(a, from, from + n, old_len - from - n);
1410
+ scr_arr_clear_dense(a, old_len - n, n);
1411
+ a->len -= n;
1412
+ return out;
1413
+ }
1172
1414
  ScrArrStorage old = scr_arr_take_storage(a);
1173
1415
  a->len = 0;
1174
1416
  for (size_t i = 0; i < old.cap; i++) {
@@ -1215,6 +1457,30 @@ ScrArr *scr_arr_splice_insert(ScrArr *a, double start, double deleteCount,
1215
1457
  double d0 = isnan(deleteCount) ? 0 : trunc(deleteCount);
1216
1458
  size_t n = d0 <= 0 ? 0 : d0 >= avail ? (size_t)avail : (size_t)d0;
1217
1459
  if (items->len > SCR_ARR_MAX_LENGTH - (a->len - n)) scr_arr_oom();
1460
+ size_t add = items->len, next_len = a->len - n + add;
1461
+ if (scr_arr_is_dense(a) && scr_arr_is_dense(items) &&
1462
+ next_len <= SCR_ARR_DENSE_LIMIT) {
1463
+ /* Snapshot an aliased argument before changing the receiver. Ordinary
1464
+ * callers have already materialized variadic arguments, so this copy
1465
+ * is needed only by direct self-spread runtime callers. */
1466
+ ScrArr *snapshot = items == a ? scr_arr_slice(a, 0, INFINITY) : NULL;
1467
+ if (snapshot) items = snapshot;
1468
+ ScrArr *removed = a->elem == SCR_ELEM_REF
1469
+ ? scr_arr_new_ref(a->elem_retain, a->elem_release, a->elem_trace, n)
1470
+ : scr_arr_new(a->elem, n);
1471
+ if (n) {
1472
+ memcpy(removed->data, a->data + from, n * sizeof(*a->data));
1473
+ memcpy(removed->present, a->present + from, n);
1474
+ }
1475
+ removed->len = n;
1476
+ scr_arr_grow_dense(a, next_len);
1477
+ scr_arr_move_dense(a, from + add, from + n, a->len - from - n);
1478
+ scr_arr_copy_dense(a, from, items, 0, add, false, true);
1479
+ if (next_len < a->len) scr_arr_clear_dense(a, next_len, a->len - next_len);
1480
+ a->len = next_len;
1481
+ scr_arr_release(snapshot);
1482
+ return removed;
1483
+ }
1218
1484
  ScrArr *removed = scr_arr_splice(a, start, deleteCount);
1219
1485
  ScrArr *tail = scr_arr_splice(a, (double)from, INFINITY);
1220
1486
  scr_arr_push_spread(a, items);
@@ -1377,6 +1643,10 @@ ScrArr *scr_arr_slice(ScrArr *a, double start, double end) {
1377
1643
  ? scr_arr_new_ref(a->elem_retain, a->elem_release, a->elem_trace, n ? n : 1)
1378
1644
  : scr_arr_new(a->elem, n ? n : 1);
1379
1645
  out->len = n;
1646
+ if (to <= a->cap) {
1647
+ scr_arr_copy_dense(out, 0, a, from, n, false, false);
1648
+ return out;
1649
+ }
1380
1650
  for (size_t i = 0; i < a->cap && i < to; i++) {
1381
1651
  if (i < from || a->present[i] == SCR_ARR_HOLE) continue;
1382
1652
  uint8_t state = a->present[i];
@@ -1396,6 +1666,169 @@ ScrArr *scr_arr_slice(ScrArr *a, double start, double end) {
1396
1666
  return out;
1397
1667
  }
1398
1668
 
1669
+ /* Default ordering of primitive arrays cannot call user code. Keep each
1670
+ * payload owned by its source while sorting raw slots, then publish the
1671
+ * complete permutation without per-comparison retains or releases. */
1672
+ typedef struct {
1673
+ uint64_t value;
1674
+ char text[32];
1675
+ } ScrNumberSortKey;
1676
+
1677
+ typedef struct {
1678
+ ScrElemKind kind;
1679
+ const ScrNumberSortKey *numbers;
1680
+ } ScrPrimitiveOrder;
1681
+
1682
+ static int scr_arr_primitive_compare(uint64_t left, uint64_t right,
1683
+ const ScrPrimitiveOrder *order) {
1684
+ if (order->kind == SCR_ELEM_STR)
1685
+ return scr_str_cmp_u16(scr_slot_to_ptr(left), scr_slot_to_ptr(right));
1686
+ if (order->kind == SCR_ELEM_BOOL) return (left > right) - (left < right);
1687
+ return strcmp(order->numbers[left].text, order->numbers[right].text);
1688
+ }
1689
+
1690
+ /* Natural runs preserve ordered inputs. Reverse strictly descending runs
1691
+ * only, insert after ties, and merge from the left on equality. Allocate
1692
+ * scratch only when there is more than one completed run. */
1693
+ static void scr_arr_primitive_order(uint64_t *values, size_t count,
1694
+ const ScrPrimitiveOrder *order) {
1695
+ if (count < 2) return;
1696
+ size_t local_runs[64], *runs = local_runs, run_cap = 64, run_count = 1;
1697
+ runs[0] = 0;
1698
+ for (size_t start = 0; start < count;) {
1699
+ size_t end = start + 1;
1700
+ if (end < count) {
1701
+ bool descending = scr_arr_primitive_compare(values[start], values[end], order) > 0;
1702
+ end++;
1703
+ while (end < count &&
1704
+ (scr_arr_primitive_compare(values[end - 1], values[end], order) > 0) == descending)
1705
+ end++;
1706
+ if (descending) {
1707
+ for (size_t left = start, right = end - 1; left < right; left++, right--) {
1708
+ uint64_t value = values[left];
1709
+ values[left] = values[right];
1710
+ values[right] = value;
1711
+ }
1712
+ }
1713
+ }
1714
+ size_t limit = count - start < 16 ? count : start + 16;
1715
+ while (end < limit) {
1716
+ uint64_t value = values[end];
1717
+ size_t low = start, high = end;
1718
+ while (low < high) {
1719
+ size_t mid = low + (high - low) / 2;
1720
+ if (scr_arr_primitive_compare(values[mid], value, order) > 0) high = mid;
1721
+ else low = mid + 1;
1722
+ }
1723
+ memmove(values + low + 1, values + low, (end - low) * sizeof(*values));
1724
+ values[low] = value;
1725
+ end++;
1726
+ }
1727
+ if (run_count == run_cap) {
1728
+ if (run_cap > SIZE_MAX / 2 / sizeof(*runs)) scr_arr_oom();
1729
+ size_t *next = malloc(run_cap * 2 * sizeof(*runs));
1730
+ if (!next) scr_arr_oom();
1731
+ memcpy(next, runs, run_count * sizeof(*runs));
1732
+ if (runs != local_runs) free(runs);
1733
+ runs = next;
1734
+ run_cap *= 2;
1735
+ }
1736
+ runs[run_count++] = end;
1737
+ start = end;
1738
+ }
1739
+ if (run_count > 2) {
1740
+ if (count > SIZE_MAX / sizeof(*values)) scr_arr_oom();
1741
+ uint64_t *scratch = malloc(count * sizeof(*scratch));
1742
+ if (!scratch) scr_arr_oom();
1743
+ uint64_t *src = values, *dst = scratch;
1744
+ while (run_count > 2) {
1745
+ size_t next_run = 1;
1746
+ for (size_t run = 0; run + 1 < run_count; run += 2) {
1747
+ size_t start = runs[run], mid = runs[run + 1];
1748
+ size_t end = run + 2 < run_count ? runs[run + 2] : count;
1749
+ if (mid == end || scr_arr_primitive_compare(src[mid - 1], src[mid], order) <= 0) {
1750
+ memcpy(dst + start, src + start, (end - start) * sizeof(*dst));
1751
+ } else {
1752
+ size_t left = start, right = mid, out = start;
1753
+ while (left < mid && right < end) {
1754
+ dst[out++] = scr_arr_primitive_compare(src[left], src[right], order) > 0
1755
+ ? src[right++] : src[left++];
1756
+ }
1757
+ if (left < mid) memcpy(dst + out, src + left, (mid - left) * sizeof(*dst));
1758
+ else if (right < end) memcpy(dst + out, src + right, (end - right) * sizeof(*dst));
1759
+ }
1760
+ runs[next_run++] = end;
1761
+ }
1762
+ run_count = next_run;
1763
+ uint64_t *swap = src; src = dst; dst = swap;
1764
+ }
1765
+ if (src != values) memcpy(values, src, count * sizeof(*values));
1766
+ free(scratch);
1767
+ }
1768
+ if (runs != local_runs) free(runs);
1769
+ }
1770
+
1771
+ ScrArr *scr_arr_sort_primitive(ScrArr *a, bool copy) {
1772
+ if (a->elem != SCR_ELEM_STR && a->elem != SCR_ELEM_F64 && a->elem != SCR_ELEM_BOOL)
1773
+ scr_trap("scriptc: invalid primitive array ordering\n");
1774
+ if (a->len == 0) return copy ? scr_arr_new(a->elem, 0) : scr_arr_retain(a);
1775
+ size_t dense = a->len < a->cap ? a->len : a->cap;
1776
+ size_t count = 0, undefined_count = 0;
1777
+ for (size_t i = 0; i < dense; i++) {
1778
+ count += a->present[i] == SCR_ARR_VALUE;
1779
+ undefined_count += a->present[i] == SCR_ARR_UNDEFINED;
1780
+ }
1781
+ for (size_t i = 0; i < a->sparse_len; i++) {
1782
+ count += a->sparse[i].state == SCR_ARR_VALUE;
1783
+ undefined_count += a->sparse[i].state == SCR_ARR_UNDEFINED;
1784
+ }
1785
+ if (count > SIZE_MAX / sizeof(uint64_t)) scr_arr_oom();
1786
+ uint64_t *values = count ? malloc(count * sizeof(*values)) : NULL;
1787
+ if (count && !values) scr_arr_oom();
1788
+ size_t used = 0;
1789
+ for (size_t i = 0; i < dense; i++)
1790
+ if (a->present[i] == SCR_ARR_VALUE) values[used++] = a->data[i];
1791
+ for (size_t i = 0; i < a->sparse_len; i++)
1792
+ if (a->sparse[i].state == SCR_ARR_VALUE) values[used++] = a->sparse[i].slot;
1793
+ ScrNumberSortKey *numbers = NULL;
1794
+ if (a->elem == SCR_ELEM_F64 && count > 1) {
1795
+ if (count > SIZE_MAX / sizeof(*numbers)) scr_arr_oom();
1796
+ numbers = malloc(count * sizeof(*numbers));
1797
+ if (!numbers) scr_arr_oom();
1798
+ for (size_t i = 0; i < count; i++) {
1799
+ numbers[i].value = values[i];
1800
+ scr_f64_to_str(scr_slot_to_f64(values[i]), numbers[i].text);
1801
+ values[i] = i;
1802
+ }
1803
+ }
1804
+ ScrPrimitiveOrder order = {a->elem, numbers};
1805
+ scr_arr_primitive_order(values, count, &order);
1806
+ if (numbers) {
1807
+ for (size_t i = 0; i < count; i++) values[i] = numbers[values[i]].value;
1808
+ free(numbers);
1809
+ }
1810
+ size_t present = copy ? a->len : count + undefined_count;
1811
+ ScrArr *out = copy ? scr_arr_new(a->elem, present) : a;
1812
+ if (copy) out->len = a->len;
1813
+ if (!copy && scr_arr_is_dense(a)) {
1814
+ if (count) memcpy(a->data, values, count * sizeof(*values));
1815
+ memset(a->present, SCR_ARR_VALUE, count);
1816
+ memset(a->present + count, SCR_ARR_UNDEFINED, undefined_count);
1817
+ scr_arr_clear_dense(a, count + undefined_count, a->len - count - undefined_count);
1818
+ if (undefined_count) memset(a->data + count, 0, undefined_count * sizeof(*a->data));
1819
+ } else {
1820
+ ScrArrStorage old = {0};
1821
+ if (!copy) old = scr_arr_take_storage(a);
1822
+ for (size_t i = 0; i < count; i++)
1823
+ scr_arr_store_owned(out, i, copy ? scr_elem_retain_slot(a, values[i]) : values[i]);
1824
+ for (size_t i = count; i < present; i++)
1825
+ scr_arr_store_state_owned(out, i, 0, SCR_ARR_UNDEFINED);
1826
+ if (!copy) scr_arr_free_storage(&old);
1827
+ }
1828
+ free(values);
1829
+ return copy ? out : scr_arr_retain(a);
1830
+ }
1831
+
1399
1832
  ScrStr *scr_arr_join(ScrArr *a, ScrStr *sep) {
1400
1833
  size_t cap = 64;
1401
1834
  /* String widths are already known. Size once to avoid growth and copying
@@ -361,6 +361,7 @@ void scr_assert_deep_result(bool equal, bool negated, ScrStr *msg, bool has_msg)
361
361
  * by construction (the frontend's same-static-type gate), but the elem
362
362
  * check stays: a defensive answer beats a miscompare. */
363
363
  static bool scr_assert_bytes_content_eq(const ScrBytes *a, const ScrBytes *b) {
364
+ SCR_SHARED_GUARD(a, b);
364
365
  if (a->elem != b->elem || a->len != b->len) return false;
365
366
  size_t nbytes = a->len * scr_bytes_elem_size(a->elem);
366
367
  return nbytes == 0 || memcmp(a->data, b->data, nbytes) == 0;
@@ -542,8 +543,7 @@ static bool scr_assert_dyn_deep_eq(const ScrDyn *a, const ScrDyn *b) {
542
543
  if (a->buffer != b->buffer) return false; /* the prototype gate */
543
544
  const ScrBytes *x = a->v.bytes, *y = b->v.bytes;
544
545
  if (x->elem != y->elem || x->len != y->len) return false;
545
- size_t nbytes = x->len * scr_bytes_elem_size(x->elem);
546
- return nbytes == 0 || memcmp(x->data, y->data, nbytes) == 0;
546
+ return scr_assert_bytes_content_eq(x, y);
547
547
  }
548
548
  case SCR_DYN_ARR: {
549
549
  if (a->v.arr.len != b->v.arr.len) return false;
@@ -712,7 +712,7 @@ static void scr_assert_cf_value(ScrAssertBuf *b, const ScrDyn *d, size_t indent,
712
712
  ab_char(b, '\n');
713
713
  scr_assert_cf_pad(b, indent + 2);
714
714
  char tmp[40];
715
- size_t n = scr_assert_inspect_f64((double)((const unsigned char *)bs->data)[i], tmp);
715
+ size_t n = scr_assert_inspect_f64(scr_bytes_get(bs, (double)i), tmp);
716
716
  ab_bytes(b, tmp, n);
717
717
  if (i + 1 < bs->len) ab_char(b, ',');
718
718
  }