porffor 0.1.0 → 0.2.0-47b4f2e

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 (659) hide show
  1. package/README.md +184 -204
  2. package/compiler/2c.js +380 -0
  3. package/compiler/builtins/base64.js +91 -91
  4. package/compiler/builtins.js +19 -13
  5. package/compiler/codeGen.js +1313 -418
  6. package/compiler/decompile.js +35 -9
  7. package/compiler/embedding.js +9 -5
  8. package/compiler/encoding.js +8 -2
  9. package/compiler/index.js +56 -17
  10. package/compiler/log.js +15 -0
  11. package/compiler/opt.js +357 -258
  12. package/compiler/parse.js +50 -3
  13. package/compiler/prototype.js +263 -56
  14. package/compiler/sections.js +51 -8
  15. package/compiler/wasmSpec.js +3 -0
  16. package/compiler/wrap.js +23 -9
  17. package/package.json +6 -1
  18. package/porf.cmd +1 -1
  19. package/rhemyn/README.md +37 -0
  20. package/rhemyn/compile.js +214 -0
  21. package/rhemyn/parse.js +321 -0
  22. package/rhemyn/test/parse.js +59 -0
  23. package/runner/index.js +54 -31
  24. package/runner/info.js +37 -2
  25. package/runner/profile.js +1 -2
  26. package/runner/repl.js +13 -11
  27. package/runner/results.json +1 -0
  28. package/runner/transform.js +15 -36
  29. package/runner/version.js +10 -0
  30. package/tmp.c +69 -0
  31. package/CNAME +0 -1
  32. package/index.html +0 -1264
  33. package/logo.png +0 -0
  34. package/sw.js +0 -26
  35. package/test/array_1.js +0 -8
  36. package/test/array_push.js +0 -8
  37. package/test/assignop_1.js +0 -15
  38. package/test/bitwise_1.js +0 -6
  39. package/test/bool_1.js +0 -3
  40. package/test/boolean.js +0 -6
  41. package/test/break_1.js +0 -6
  42. package/test/break_2.js +0 -12
  43. package/test/conditional_1.js +0 -3
  44. package/test/conditional_2.js +0 -4
  45. package/test/console_1.js +0 -2
  46. package/test/continue_1.js +0 -6
  47. package/test/continue_2.js +0 -10
  48. package/test/empty.js +0 -1
  49. package/test/ending_exp_1.js +0 -2
  50. package/test/ending_exp_2.js +0 -6
  51. package/test/eq_1.js +0 -4
  52. package/test/eq_2.js +0 -4
  53. package/test/eq_3.js +0 -5
  54. package/test/export_1.js +0 -9
  55. package/test/factorial.js +0 -3
  56. package/test/fibonacci.js +0 -16
  57. package/test/float_div0.js +0 -2
  58. package/test/float_frac.js +0 -2
  59. package/test/float_isfinite.js +0 -29
  60. package/test/float_isinteger.js +0 -13
  61. package/test/float_isnan.js +0 -20
  62. package/test/float_issafeinteger.js +0 -11
  63. package/test/float_large.js +0 -2
  64. package/test/float_math_funcs.js +0 -24
  65. package/test/float_math_random.js +0 -6
  66. package/test/float_nan.js +0 -3
  67. package/test/float_number_values.js +0 -12
  68. package/test/for_1.js +0 -4
  69. package/test/for_2.js +0 -4
  70. package/test/func_1.js +0 -16
  71. package/test/func_2.js +0 -6
  72. package/test/func_3.js +0 -10
  73. package/test/global_1.js +0 -8
  74. package/test/global_2.js +0 -10
  75. package/test/if_1.js +0 -6
  76. package/test/if_2.js +0 -9
  77. package/test/if_3.js +0 -7
  78. package/test/iife_1.js +0 -8
  79. package/test/iife_2.js +0 -8
  80. package/test/index.js +0 -93
  81. package/test/int_number_values.js +0 -6
  82. package/test/logic_1.js +0 -7
  83. package/test/logic_2.js +0 -7
  84. package/test/math_1.js +0 -6
  85. package/test/math_2.js +0 -12
  86. package/test/math_3.js +0 -6
  87. package/test/number_func.js +0 -4
  88. package/test/return_1.js +0 -8
  89. package/test/return_2.js +0 -11
  90. package/test/tailcall_1.js +0 -10
  91. package/test/throw_1.js +0 -2
  92. package/test/throw_2.js +0 -4
  93. package/test/throw_3.js +0 -2
  94. package/test/throw_4.js +0 -3
  95. package/test/try_1.js +0 -7
  96. package/test/unary_1.js +0 -4
  97. package/test/unary_2.js +0 -5
  98. package/test/unary_3.js +0 -6
  99. package/test/unary_4.js +0 -12
  100. package/test/unary_5.js +0 -8
  101. package/test/undefined_1.js +0 -8
  102. package/test/undefined_2.js +0 -10
  103. package/test/updateexp_1.js +0 -9
  104. package/test/vars_1.js +0 -5
  105. package/test/vars_2.js +0 -9
  106. package/test/while_1.js +0 -6
  107. package/test262/compare.js +0 -30
  108. package/test262/index.js +0 -314
  109. package/test262/node_modules/.bin/esparse +0 -12
  110. package/test262/node_modules/.bin/esparse.cmd +0 -17
  111. package/test262/node_modules/.bin/esparse.ps1 +0 -28
  112. package/test262/node_modules/.bin/esvalidate +0 -12
  113. package/test262/node_modules/.bin/esvalidate.cmd +0 -17
  114. package/test262/node_modules/.bin/esvalidate.ps1 +0 -28
  115. package/test262/node_modules/.bin/js-yaml +0 -12
  116. package/test262/node_modules/.bin/js-yaml.cmd +0 -17
  117. package/test262/node_modules/.bin/js-yaml.ps1 +0 -28
  118. package/test262/node_modules/.package-lock.json +0 -0
  119. package/test262/node_modules/@nodelib/fs.scandir/LICENSE +0 -21
  120. package/test262/node_modules/@nodelib/fs.scandir/README.md +0 -171
  121. package/test262/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
  122. package/test262/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +0 -19
  123. package/test262/node_modules/@nodelib/fs.scandir/out/constants.d.ts +0 -4
  124. package/test262/node_modules/@nodelib/fs.scandir/out/constants.js +0 -17
  125. package/test262/node_modules/@nodelib/fs.scandir/out/index.d.ts +0 -12
  126. package/test262/node_modules/@nodelib/fs.scandir/out/index.js +0 -26
  127. package/test262/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
  128. package/test262/node_modules/@nodelib/fs.scandir/out/providers/async.js +0 -104
  129. package/test262/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +0 -1
  130. package/test262/node_modules/@nodelib/fs.scandir/out/providers/common.js +0 -13
  131. package/test262/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +0 -5
  132. package/test262/node_modules/@nodelib/fs.scandir/out/providers/sync.js +0 -54
  133. package/test262/node_modules/@nodelib/fs.scandir/out/settings.d.ts +0 -20
  134. package/test262/node_modules/@nodelib/fs.scandir/out/settings.js +0 -24
  135. package/test262/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
  136. package/test262/node_modules/@nodelib/fs.scandir/out/types/index.js +0 -2
  137. package/test262/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +0 -2
  138. package/test262/node_modules/@nodelib/fs.scandir/out/utils/fs.js +0 -19
  139. package/test262/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +0 -2
  140. package/test262/node_modules/@nodelib/fs.scandir/out/utils/index.js +0 -5
  141. package/test262/node_modules/@nodelib/fs.scandir/package.json +0 -44
  142. package/test262/node_modules/@nodelib/fs.stat/LICENSE +0 -21
  143. package/test262/node_modules/@nodelib/fs.stat/README.md +0 -126
  144. package/test262/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
  145. package/test262/node_modules/@nodelib/fs.stat/out/adapters/fs.js +0 -17
  146. package/test262/node_modules/@nodelib/fs.stat/out/index.d.ts +0 -12
  147. package/test262/node_modules/@nodelib/fs.stat/out/index.js +0 -26
  148. package/test262/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
  149. package/test262/node_modules/@nodelib/fs.stat/out/providers/async.js +0 -36
  150. package/test262/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +0 -3
  151. package/test262/node_modules/@nodelib/fs.stat/out/providers/sync.js +0 -23
  152. package/test262/node_modules/@nodelib/fs.stat/out/settings.d.ts +0 -16
  153. package/test262/node_modules/@nodelib/fs.stat/out/settings.js +0 -16
  154. package/test262/node_modules/@nodelib/fs.stat/out/types/index.d.ts +0 -4
  155. package/test262/node_modules/@nodelib/fs.stat/out/types/index.js +0 -2
  156. package/test262/node_modules/@nodelib/fs.stat/package.json +0 -37
  157. package/test262/node_modules/@nodelib/fs.walk/LICENSE +0 -21
  158. package/test262/node_modules/@nodelib/fs.walk/README.md +0 -215
  159. package/test262/node_modules/@nodelib/fs.walk/out/index.d.ts +0 -14
  160. package/test262/node_modules/@nodelib/fs.walk/out/index.js +0 -34
  161. package/test262/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
  162. package/test262/node_modules/@nodelib/fs.walk/out/providers/async.js +0 -30
  163. package/test262/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +0 -4
  164. package/test262/node_modules/@nodelib/fs.walk/out/providers/index.js +0 -9
  165. package/test262/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +0 -12
  166. package/test262/node_modules/@nodelib/fs.walk/out/providers/stream.js +0 -34
  167. package/test262/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +0 -10
  168. package/test262/node_modules/@nodelib/fs.walk/out/providers/sync.js +0 -14
  169. package/test262/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
  170. package/test262/node_modules/@nodelib/fs.walk/out/readers/async.js +0 -97
  171. package/test262/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +0 -7
  172. package/test262/node_modules/@nodelib/fs.walk/out/readers/common.js +0 -31
  173. package/test262/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
  174. package/test262/node_modules/@nodelib/fs.walk/out/readers/reader.js +0 -11
  175. package/test262/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +0 -15
  176. package/test262/node_modules/@nodelib/fs.walk/out/readers/sync.js +0 -59
  177. package/test262/node_modules/@nodelib/fs.walk/out/settings.d.ts +0 -30
  178. package/test262/node_modules/@nodelib/fs.walk/out/settings.js +0 -26
  179. package/test262/node_modules/@nodelib/fs.walk/out/types/index.d.ts +0 -8
  180. package/test262/node_modules/@nodelib/fs.walk/out/types/index.js +0 -2
  181. package/test262/node_modules/@nodelib/fs.walk/package.json +0 -44
  182. package/test262/node_modules/argparse/CHANGELOG.md +0 -185
  183. package/test262/node_modules/argparse/LICENSE +0 -21
  184. package/test262/node_modules/argparse/README.md +0 -257
  185. package/test262/node_modules/argparse/index.js +0 -3
  186. package/test262/node_modules/argparse/lib/action/append/constant.js +0 -47
  187. package/test262/node_modules/argparse/lib/action/append.js +0 -53
  188. package/test262/node_modules/argparse/lib/action/count.js +0 -40
  189. package/test262/node_modules/argparse/lib/action/help.js +0 -47
  190. package/test262/node_modules/argparse/lib/action/store/constant.js +0 -43
  191. package/test262/node_modules/argparse/lib/action/store/false.js +0 -27
  192. package/test262/node_modules/argparse/lib/action/store/true.js +0 -26
  193. package/test262/node_modules/argparse/lib/action/store.js +0 -50
  194. package/test262/node_modules/argparse/lib/action/subparsers.js +0 -149
  195. package/test262/node_modules/argparse/lib/action/version.js +0 -47
  196. package/test262/node_modules/argparse/lib/action.js +0 -146
  197. package/test262/node_modules/argparse/lib/action_container.js +0 -482
  198. package/test262/node_modules/argparse/lib/argparse.js +0 -14
  199. package/test262/node_modules/argparse/lib/argument/error.js +0 -50
  200. package/test262/node_modules/argparse/lib/argument/exclusive.js +0 -54
  201. package/test262/node_modules/argparse/lib/argument/group.js +0 -75
  202. package/test262/node_modules/argparse/lib/argument_parser.js +0 -1161
  203. package/test262/node_modules/argparse/lib/const.js +0 -21
  204. package/test262/node_modules/argparse/lib/help/added_formatters.js +0 -87
  205. package/test262/node_modules/argparse/lib/help/formatter.js +0 -795
  206. package/test262/node_modules/argparse/lib/namespace.js +0 -76
  207. package/test262/node_modules/argparse/lib/utils.js +0 -57
  208. package/test262/node_modules/argparse/package.json +0 -34
  209. package/test262/node_modules/braces/CHANGELOG.md +0 -184
  210. package/test262/node_modules/braces/LICENSE +0 -21
  211. package/test262/node_modules/braces/README.md +0 -593
  212. package/test262/node_modules/braces/index.js +0 -170
  213. package/test262/node_modules/braces/lib/compile.js +0 -57
  214. package/test262/node_modules/braces/lib/constants.js +0 -57
  215. package/test262/node_modules/braces/lib/expand.js +0 -113
  216. package/test262/node_modules/braces/lib/parse.js +0 -333
  217. package/test262/node_modules/braces/lib/stringify.js +0 -32
  218. package/test262/node_modules/braces/lib/utils.js +0 -112
  219. package/test262/node_modules/braces/package.json +0 -77
  220. package/test262/node_modules/esprima/ChangeLog +0 -235
  221. package/test262/node_modules/esprima/LICENSE.BSD +0 -21
  222. package/test262/node_modules/esprima/README.md +0 -46
  223. package/test262/node_modules/esprima/bin/esparse.js +0 -139
  224. package/test262/node_modules/esprima/bin/esvalidate.js +0 -236
  225. package/test262/node_modules/esprima/dist/esprima.js +0 -6709
  226. package/test262/node_modules/esprima/package.json +0 -112
  227. package/test262/node_modules/fast-glob/LICENSE +0 -21
  228. package/test262/node_modules/fast-glob/README.md +0 -859
  229. package/test262/node_modules/fast-glob/out/index.d.ts +0 -40
  230. package/test262/node_modules/fast-glob/out/index.js +0 -102
  231. package/test262/node_modules/fast-glob/out/managers/tasks.d.ts +0 -22
  232. package/test262/node_modules/fast-glob/out/managers/tasks.js +0 -110
  233. package/test262/node_modules/fast-glob/out/providers/async.d.ts +0 -9
  234. package/test262/node_modules/fast-glob/out/providers/async.js +0 -23
  235. package/test262/node_modules/fast-glob/out/providers/filters/deep.d.ts +0 -16
  236. package/test262/node_modules/fast-glob/out/providers/filters/deep.js +0 -62
  237. package/test262/node_modules/fast-glob/out/providers/filters/entry.d.ts +0 -16
  238. package/test262/node_modules/fast-glob/out/providers/filters/entry.js +0 -63
  239. package/test262/node_modules/fast-glob/out/providers/filters/error.d.ts +0 -8
  240. package/test262/node_modules/fast-glob/out/providers/filters/error.js +0 -15
  241. package/test262/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +0 -33
  242. package/test262/node_modules/fast-glob/out/providers/matchers/matcher.js +0 -45
  243. package/test262/node_modules/fast-glob/out/providers/matchers/partial.d.ts +0 -4
  244. package/test262/node_modules/fast-glob/out/providers/matchers/partial.js +0 -38
  245. package/test262/node_modules/fast-glob/out/providers/provider.d.ts +0 -19
  246. package/test262/node_modules/fast-glob/out/providers/provider.js +0 -48
  247. package/test262/node_modules/fast-glob/out/providers/stream.d.ts +0 -11
  248. package/test262/node_modules/fast-glob/out/providers/stream.js +0 -31
  249. package/test262/node_modules/fast-glob/out/providers/sync.d.ts +0 -9
  250. package/test262/node_modules/fast-glob/out/providers/sync.js +0 -23
  251. package/test262/node_modules/fast-glob/out/providers/transformers/entry.d.ts +0 -8
  252. package/test262/node_modules/fast-glob/out/providers/transformers/entry.js +0 -26
  253. package/test262/node_modules/fast-glob/out/readers/async.d.ts +0 -10
  254. package/test262/node_modules/fast-glob/out/readers/async.js +0 -35
  255. package/test262/node_modules/fast-glob/out/readers/reader.d.ts +0 -15
  256. package/test262/node_modules/fast-glob/out/readers/reader.js +0 -33
  257. package/test262/node_modules/fast-glob/out/readers/stream.d.ts +0 -14
  258. package/test262/node_modules/fast-glob/out/readers/stream.js +0 -55
  259. package/test262/node_modules/fast-glob/out/readers/sync.d.ts +0 -12
  260. package/test262/node_modules/fast-glob/out/readers/sync.js +0 -43
  261. package/test262/node_modules/fast-glob/out/settings.d.ts +0 -164
  262. package/test262/node_modules/fast-glob/out/settings.js +0 -57
  263. package/test262/node_modules/fast-glob/out/types/index.d.ts +0 -31
  264. package/test262/node_modules/fast-glob/out/types/index.js +0 -2
  265. package/test262/node_modules/fast-glob/out/utils/array.d.ts +0 -2
  266. package/test262/node_modules/fast-glob/out/utils/array.js +0 -22
  267. package/test262/node_modules/fast-glob/out/utils/errno.d.ts +0 -2
  268. package/test262/node_modules/fast-glob/out/utils/errno.js +0 -7
  269. package/test262/node_modules/fast-glob/out/utils/fs.d.ts +0 -4
  270. package/test262/node_modules/fast-glob/out/utils/fs.js +0 -19
  271. package/test262/node_modules/fast-glob/out/utils/index.d.ts +0 -8
  272. package/test262/node_modules/fast-glob/out/utils/index.js +0 -17
  273. package/test262/node_modules/fast-glob/out/utils/path.d.ts +0 -13
  274. package/test262/node_modules/fast-glob/out/utils/path.js +0 -68
  275. package/test262/node_modules/fast-glob/out/utils/pattern.d.ts +0 -47
  276. package/test262/node_modules/fast-glob/out/utils/pattern.js +0 -188
  277. package/test262/node_modules/fast-glob/out/utils/stream.d.ts +0 -4
  278. package/test262/node_modules/fast-glob/out/utils/stream.js +0 -17
  279. package/test262/node_modules/fast-glob/out/utils/string.d.ts +0 -2
  280. package/test262/node_modules/fast-glob/out/utils/string.js +0 -11
  281. package/test262/node_modules/fast-glob/package.json +0 -81
  282. package/test262/node_modules/fastq/.github/dependabot.yml +0 -11
  283. package/test262/node_modules/fastq/.github/workflows/ci.yml +0 -50
  284. package/test262/node_modules/fastq/LICENSE +0 -13
  285. package/test262/node_modules/fastq/README.md +0 -309
  286. package/test262/node_modules/fastq/bench.js +0 -66
  287. package/test262/node_modules/fastq/example.js +0 -14
  288. package/test262/node_modules/fastq/example.mjs +0 -11
  289. package/test262/node_modules/fastq/index.d.ts +0 -37
  290. package/test262/node_modules/fastq/package.json +0 -52
  291. package/test262/node_modules/fastq/queue.js +0 -289
  292. package/test262/node_modules/fastq/test/example.ts +0 -81
  293. package/test262/node_modules/fastq/test/promise.js +0 -248
  294. package/test262/node_modules/fastq/test/test.js +0 -566
  295. package/test262/node_modules/fastq/test/tsconfig.json +0 -11
  296. package/test262/node_modules/fill-range/LICENSE +0 -21
  297. package/test262/node_modules/fill-range/README.md +0 -237
  298. package/test262/node_modules/fill-range/index.js +0 -249
  299. package/test262/node_modules/fill-range/package.json +0 -69
  300. package/test262/node_modules/glob-parent/CHANGELOG.md +0 -110
  301. package/test262/node_modules/glob-parent/LICENSE +0 -15
  302. package/test262/node_modules/glob-parent/README.md +0 -137
  303. package/test262/node_modules/glob-parent/index.js +0 -42
  304. package/test262/node_modules/glob-parent/package.json +0 -48
  305. package/test262/node_modules/graceful-fs/LICENSE +0 -15
  306. package/test262/node_modules/graceful-fs/README.md +0 -143
  307. package/test262/node_modules/graceful-fs/clone.js +0 -23
  308. package/test262/node_modules/graceful-fs/graceful-fs.js +0 -448
  309. package/test262/node_modules/graceful-fs/legacy-streams.js +0 -118
  310. package/test262/node_modules/graceful-fs/package.json +0 -53
  311. package/test262/node_modules/graceful-fs/polyfills.js +0 -355
  312. package/test262/node_modules/is-extglob/LICENSE +0 -21
  313. package/test262/node_modules/is-extglob/README.md +0 -107
  314. package/test262/node_modules/is-extglob/index.js +0 -20
  315. package/test262/node_modules/is-extglob/package.json +0 -69
  316. package/test262/node_modules/is-glob/LICENSE +0 -21
  317. package/test262/node_modules/is-glob/README.md +0 -206
  318. package/test262/node_modules/is-glob/index.js +0 -150
  319. package/test262/node_modules/is-glob/package.json +0 -81
  320. package/test262/node_modules/is-number/LICENSE +0 -21
  321. package/test262/node_modules/is-number/README.md +0 -187
  322. package/test262/node_modules/is-number/index.js +0 -18
  323. package/test262/node_modules/is-number/package.json +0 -82
  324. package/test262/node_modules/js-yaml/CHANGELOG.md +0 -557
  325. package/test262/node_modules/js-yaml/LICENSE +0 -21
  326. package/test262/node_modules/js-yaml/README.md +0 -299
  327. package/test262/node_modules/js-yaml/bin/js-yaml.js +0 -132
  328. package/test262/node_modules/js-yaml/dist/js-yaml.js +0 -3989
  329. package/test262/node_modules/js-yaml/dist/js-yaml.min.js +0 -1
  330. package/test262/node_modules/js-yaml/index.js +0 -7
  331. package/test262/node_modules/js-yaml/lib/js-yaml/common.js +0 -59
  332. package/test262/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -850
  333. package/test262/node_modules/js-yaml/lib/js-yaml/exception.js +0 -43
  334. package/test262/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1644
  335. package/test262/node_modules/js-yaml/lib/js-yaml/mark.js +0 -76
  336. package/test262/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
  337. package/test262/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
  338. package/test262/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
  339. package/test262/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
  340. package/test262/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
  341. package/test262/node_modules/js-yaml/lib/js-yaml/schema.js +0 -108
  342. package/test262/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -138
  343. package/test262/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -35
  344. package/test262/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -116
  345. package/test262/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -173
  346. package/test262/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -93
  347. package/test262/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -60
  348. package/test262/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -28
  349. package/test262/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
  350. package/test262/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
  351. package/test262/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -34
  352. package/test262/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -44
  353. package/test262/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -53
  354. package/test262/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
  355. package/test262/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -29
  356. package/test262/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
  357. package/test262/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -88
  358. package/test262/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
  359. package/test262/node_modules/js-yaml/lib/js-yaml.js +0 -39
  360. package/test262/node_modules/js-yaml/package.json +0 -49
  361. package/test262/node_modules/klaw/CHANGELOG.md +0 -62
  362. package/test262/node_modules/klaw/LICENSE +0 -15
  363. package/test262/node_modules/klaw/README.md +0 -252
  364. package/test262/node_modules/klaw/package.json +0 -40
  365. package/test262/node_modules/klaw/src/index.js +0 -56
  366. package/test262/node_modules/merge2/LICENSE +0 -21
  367. package/test262/node_modules/merge2/README.md +0 -144
  368. package/test262/node_modules/merge2/index.js +0 -144
  369. package/test262/node_modules/merge2/package.json +0 -43
  370. package/test262/node_modules/micromatch/LICENSE +0 -21
  371. package/test262/node_modules/micromatch/README.md +0 -1011
  372. package/test262/node_modules/micromatch/index.js +0 -467
  373. package/test262/node_modules/micromatch/package.json +0 -119
  374. package/test262/node_modules/picomatch/CHANGELOG.md +0 -136
  375. package/test262/node_modules/picomatch/LICENSE +0 -21
  376. package/test262/node_modules/picomatch/README.md +0 -708
  377. package/test262/node_modules/picomatch/index.js +0 -3
  378. package/test262/node_modules/picomatch/lib/constants.js +0 -179
  379. package/test262/node_modules/picomatch/lib/parse.js +0 -1091
  380. package/test262/node_modules/picomatch/lib/picomatch.js +0 -342
  381. package/test262/node_modules/picomatch/lib/scan.js +0 -391
  382. package/test262/node_modules/picomatch/lib/utils.js +0 -64
  383. package/test262/node_modules/picomatch/package.json +0 -81
  384. package/test262/node_modules/queue-microtask/LICENSE +0 -20
  385. package/test262/node_modules/queue-microtask/README.md +0 -90
  386. package/test262/node_modules/queue-microtask/index.d.ts +0 -2
  387. package/test262/node_modules/queue-microtask/index.js +0 -9
  388. package/test262/node_modules/queue-microtask/package.json +0 -55
  389. package/test262/node_modules/reusify/.coveralls.yml +0 -1
  390. package/test262/node_modules/reusify/.travis.yml +0 -28
  391. package/test262/node_modules/reusify/LICENSE +0 -22
  392. package/test262/node_modules/reusify/README.md +0 -145
  393. package/test262/node_modules/reusify/benchmarks/createNoCodeFunction.js +0 -30
  394. package/test262/node_modules/reusify/benchmarks/fib.js +0 -13
  395. package/test262/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +0 -38
  396. package/test262/node_modules/reusify/package.json +0 -45
  397. package/test262/node_modules/reusify/reusify.js +0 -33
  398. package/test262/node_modules/reusify/test.js +0 -66
  399. package/test262/node_modules/run-parallel/LICENSE +0 -20
  400. package/test262/node_modules/run-parallel/README.md +0 -85
  401. package/test262/node_modules/run-parallel/index.js +0 -51
  402. package/test262/node_modules/run-parallel/package.json +0 -58
  403. package/test262/node_modules/sprintf-js/LICENSE +0 -24
  404. package/test262/node_modules/sprintf-js/README.md +0 -88
  405. package/test262/node_modules/sprintf-js/bower.json +0 -14
  406. package/test262/node_modules/sprintf-js/demo/angular.html +0 -20
  407. package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
  408. package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
  409. package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
  410. package/test262/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
  411. package/test262/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
  412. package/test262/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
  413. package/test262/node_modules/sprintf-js/gruntfile.js +0 -36
  414. package/test262/node_modules/sprintf-js/package.json +0 -22
  415. package/test262/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
  416. package/test262/node_modules/sprintf-js/src/sprintf.js +0 -208
  417. package/test262/node_modules/sprintf-js/test/test.js +0 -82
  418. package/test262/node_modules/test262-stream/.jshintignore +0 -2
  419. package/test262/node_modules/test262-stream/.jshintrc +0 -6
  420. package/test262/node_modules/test262-stream/.travis.yml +0 -5
  421. package/test262/node_modules/test262-stream/CONTRIBUTING.md +0 -37
  422. package/test262/node_modules/test262-stream/LICENSE-MICROSOFT.txt +0 -27
  423. package/test262/node_modules/test262-stream/LICENSE.txt +0 -27
  424. package/test262/node_modules/test262-stream/README.md +0 -71
  425. package/test262/node_modules/test262-stream/lib/builder.js +0 -46
  426. package/test262/node_modules/test262-stream/lib/compile.js +0 -24
  427. package/test262/node_modules/test262-stream/lib/create-scenarios.js +0 -29
  428. package/test262/node_modules/test262-stream/lib/index.js +0 -187
  429. package/test262/node_modules/test262-stream/lib/test-file.js +0 -150
  430. package/test262/node_modules/test262-stream/package.json +0 -26
  431. package/test262/node_modules/test262-stream/test/collateral/invalid-missing-harness/fake-test262/test/a-test-file.js +0 -16
  432. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/assert.js +0 -17
  433. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/doneprintHandle.js +0 -6
  434. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/sta.js +0 -12
  435. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/package.json +0 -3
  436. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/test/strict.js +0 -9
  437. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/assert.js +0 -17
  438. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/doneprintHandle.js +0 -6
  439. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/sta.js +0 -12
  440. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/package.json +0 -3
  441. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/test/strict.js +0 -9
  442. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/asyncNegative_default.js +0 -49
  443. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/asyncNegative_strict_mode.js +0 -50
  444. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/async_default.js +0 -48
  445. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/async_strict_mode.js +0 -49
  446. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/bothStrict_default.js +0 -46
  447. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/bothStrict_strict_mode.js +0 -47
  448. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/error_default.js +0 -39
  449. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/error_strict_mode.js +0 -40
  450. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/module_default.js +0 -37
  451. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/module_strict_mode.js +0 -38
  452. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/negative-empty_default.js +0 -37
  453. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/negative-empty_strict_mode.js +0 -38
  454. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/noStrict_default.js +0 -36
  455. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/rawNoStrict_default.js +0 -14
  456. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/rawStrict_default.js +0 -15
  457. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/strict_strict_mode.js +0 -41
  458. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/asyncNegative_default.json +0 -22
  459. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/asyncNegative_strict_mode.json +0 -22
  460. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/async_default.json +0 -18
  461. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/async_strict_mode.json +0 -18
  462. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/bothStrict_default.json +0 -24
  463. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  464. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/error_default.json +0 -19
  465. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/error_strict_mode.json +0 -19
  466. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/module_default.json +0 -17
  467. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/module_strict_mode.json +0 -17
  468. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/negative-empty_default.json +0 -19
  469. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/negative-empty_strict_mode.json +0 -19
  470. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/noStrict_default.json +0 -17
  471. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/rawNoStrict_default.json +0 -14
  472. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/rawStrict_default.json +0 -14
  473. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/strict_strict_mode.json +0 -21
  474. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/assert.js +0 -17
  475. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/doneprintHandle.js +0 -6
  476. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/sta.js +0 -12
  477. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/async.js +0 -10
  478. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/asyncNegative.js +0 -11
  479. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/bothStrict.js +0 -15
  480. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/error.js +0 -8
  481. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/module.js +0 -6
  482. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/module_FIXTURE.js +0 -2
  483. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/negative-empty.js +0 -6
  484. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/noStrict.js +0 -5
  485. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/rawNoStrict.js +0 -14
  486. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/rawStrict.js +0 -15
  487. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/strict.js +0 -9
  488. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-content/test/bothStrict_default.js +0 -46
  489. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-content/test/bothStrict_strict_mode.js +0 -47
  490. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-metadata/test/bothStrict_default.json +0 -24
  491. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  492. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/assert.js +0 -17
  493. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/doneprintHandle.js +0 -6
  494. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/sta.js +0 -12
  495. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/bothStrict.js +0 -15
  496. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-0_FIXTURE.js +0 -2
  497. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-1_FIXTURE.js +0 -2
  498. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-2_FIXTURE.js +0 -2
  499. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-3_FIXTURE.js +0 -2
  500. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-4_FIXTURE.js +0 -2
  501. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-5_FIXTURE.js +0 -2
  502. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-6_FIXTURE.js +0 -2
  503. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-7_FIXTURE.js +0 -2
  504. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-8_FIXTURE.js +0 -2
  505. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-9_FIXTURE.txt +0 -2
  506. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/raw_default.js +0 -15
  507. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/runtime_default.js +0 -38
  508. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/runtime_strict_mode.js +0 -39
  509. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/raw_default.json +0 -14
  510. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/runtime_default.json +0 -15
  511. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/runtime_strict_mode.json +0 -15
  512. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/harness/assert.js +0 -17
  513. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/harness/sta.js +0 -12
  514. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/test/raw.js +0 -15
  515. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/test/runtime.js +0 -7
  516. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/asyncNegative_default.js +0 -11
  517. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/asyncNegative_strict_mode.js +0 -12
  518. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/async_default.js +0 -10
  519. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/async_strict_mode.js +0 -11
  520. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/bothStrict_default.js +0 -15
  521. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/bothStrict_strict_mode.js +0 -16
  522. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/error_default.js +0 -8
  523. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/error_strict_mode.js +0 -9
  524. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/module_default.js +0 -6
  525. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/module_strict_mode.js +0 -7
  526. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/negative-empty_default.js +0 -6
  527. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/negative-empty_strict_mode.js +0 -7
  528. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/noStrict_default.js +0 -5
  529. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/rawNoStrict_default.js +0 -14
  530. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/rawStrict_default.js +0 -15
  531. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/strict_strict_mode.js +0 -10
  532. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/asyncNegative_default.json +0 -18
  533. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/asyncNegative_strict_mode.json +0 -18
  534. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/async_default.json +0 -14
  535. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/async_strict_mode.json +0 -14
  536. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/bothStrict_default.json +0 -21
  537. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/bothStrict_strict_mode.json +0 -21
  538. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/error_default.json +0 -16
  539. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/error_strict_mode.json +0 -16
  540. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/module_default.json +0 -14
  541. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/module_strict_mode.json +0 -14
  542. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/negative-empty_default.json +0 -16
  543. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/negative-empty_strict_mode.json +0 -16
  544. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/noStrict_default.json +0 -14
  545. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/rawNoStrict_default.json +0 -14
  546. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/rawStrict_default.json +0 -14
  547. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/strict_strict_mode.json +0 -18
  548. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/assert.js +0 -17
  549. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/doneprintHandle.js +0 -6
  550. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/sta.js +0 -12
  551. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/async.js +0 -10
  552. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/asyncNegative.js +0 -11
  553. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/bothStrict.js +0 -15
  554. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/error.js +0 -8
  555. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/module.js +0 -6
  556. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/module_FIXTURE.js +0 -2
  557. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/negative-empty.js +0 -6
  558. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/noStrict.js +0 -5
  559. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/rawNoStrict.js +0 -14
  560. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/rawStrict.js +0 -15
  561. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/strict.js +0 -9
  562. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/expected-content/test/strict_strict_mode.js +0 -41
  563. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/expected-metadata/test/strict_strict_mode.json +0 -21
  564. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/assert.js +0 -17
  565. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/doneprintHandle.js +0 -6
  566. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/sta.js +0 -12
  567. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/package.json +0 -3
  568. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/test/strict.js +0 -9
  569. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/expected-content/test/strict_strict_mode.js +0 -41
  570. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/expected-metadata/test/strict_strict_mode.json +0 -21
  571. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/assert.js +0 -17
  572. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/doneprintHandle.js +0 -6
  573. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/sta.js +0 -12
  574. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/package.json +0 -3
  575. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/test/strict.js +0 -9
  576. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/missing-raw-flag_default.js +0 -44
  577. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/missing-raw-flag_strict_mode.js +0 -45
  578. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls-and-license-on-same-line_default.js +0 -20
  579. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls-multiline-block_default.js +0 -18
  580. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls_default.js +0 -17
  581. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps-and-license-on-same-line_default.js +0 -20
  582. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps-multiline-block_default.js +0 -18
  583. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps_default.js +0 -17
  584. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/rawWithLicense_default.js +0 -21
  585. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw_default.js +0 -17
  586. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/missing-raw-flag_default.json +0 -22
  587. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/missing-raw-flag_strict_mode.json +0 -22
  588. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls-and-license-on-same-line_default.json +0 -21
  589. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls-multiline-block_default.json +0 -21
  590. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls_default.json +0 -21
  591. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps-and-license-on-same-line_default.json +0 -21
  592. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps-multiline-block_default.json +0 -21
  593. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps_default.json +0 -21
  594. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/rawWithLicense_default.json +0 -21
  595. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw_default.json +0 -21
  596. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/assert.js +0 -17
  597. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/doneprintHandle.js +0 -6
  598. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/sta.js +0 -12
  599. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/missing-raw-flag.js +0 -13
  600. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls-and-license-on-same-line.js +0 -20
  601. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls-multiline-block.js +0 -18
  602. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls.js +0 -17
  603. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps-and-license-on-same-line.js +0 -20
  604. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps-multiline-block.js +0 -18
  605. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps.js +0 -17
  606. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw.js +0 -17
  607. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/rawWithLicense.js +0 -21
  608. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/assert.js +0 -17
  609. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/doneprintHandle.js +0 -9
  610. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/sta.js +0 -13
  611. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/async_default.js +0 -52
  612. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/async_strict_mode.js +0 -53
  613. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/bothStrict_default.js +0 -47
  614. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/bothStrict_strict_mode.js +0 -48
  615. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/async_default.json +0 -18
  616. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/async_strict_mode.json +0 -18
  617. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/bothStrict_default.json +0 -24
  618. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  619. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/harness/assert.js +0 -17
  620. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/harness/doneprintHandle.js +0 -6
  621. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/test/async.js +0 -10
  622. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/test/bothStrict.js +0 -15
  623. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/asyncNegative_default.js +0 -49
  624. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/asyncNegative_strict_mode.js +0 -50
  625. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/async_default.js +0 -48
  626. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/async_strict_mode.js +0 -49
  627. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/bothStrict_default.js +0 -46
  628. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/bothStrict_strict_mode.js +0 -47
  629. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/strict/no/noStrict_default.js +0 -36
  630. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/strict/no/rawNoStrict_default.js +0 -14
  631. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/asyncNegative_default.json +0 -22
  632. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/asyncNegative_strict_mode.json +0 -22
  633. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/async_default.json +0 -18
  634. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/async_strict_mode.json +0 -18
  635. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/bothStrict_default.json +0 -24
  636. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  637. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/strict/no/noStrict_default.json +0 -17
  638. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/strict/no/rawNoStrict_default.json +0 -14
  639. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/assert.js +0 -17
  640. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/doneprintHandle.js +0 -6
  641. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/sta.js +0 -12
  642. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/async/async.js +0 -10
  643. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/async/asyncNegative.js +0 -11
  644. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/bothStrict.js +0 -15
  645. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/error.js +0 -8
  646. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/negative-empty.js +0 -6
  647. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/no/noStrict.js +0 -5
  648. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/no/rawNoStrict.js +0 -14
  649. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/rawStrict.js +0 -15
  650. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/strict.js +0 -9
  651. package/test262/node_modules/test262-stream/test/test.js +0 -319
  652. package/test262/node_modules/to-regex-range/LICENSE +0 -21
  653. package/test262/node_modules/to-regex-range/README.md +0 -305
  654. package/test262/node_modules/to-regex-range/index.js +0 -288
  655. package/test262/node_modules/to-regex-range/package.json +0 -88
  656. package/test262/package-lock.json +0 -279
  657. package/test262/package.json +0 -6
  658. package/test262/prelude.js +0 -75
  659. package/test262/results.json +0 -1
package/compiler/2c.js ADDED
@@ -0,0 +1,380 @@
1
+ import { read_ieee754_binary64, read_signedLEB128 } from './encoding.js';
2
+ import { Blocktype, Opcodes, Valtype } from './wasmSpec.js';
3
+ import { operatorOpcode } from './expression.js';
4
+ import { log } from "./log.js";
5
+
6
+ const CValtype = {
7
+ i8: 'char',
8
+ i16: 'unsigned short', // presume all i16 stuff is unsigned
9
+ i32: 'long',
10
+ i32_u: 'unsigned long',
11
+ i64: 'long long',
12
+ i64_u: 'unsigned long long',
13
+
14
+ f32: 'float',
15
+ f64: 'double',
16
+
17
+ undefined: 'void'
18
+ };
19
+
20
+ const inv = (obj, keyMap = x => x) => Object.keys(obj).reduce((acc, x) => { acc[keyMap(obj[x])] = x; return acc; }, {});
21
+ const invOpcodes = inv(Opcodes);
22
+
23
+ for (const x in CValtype) {
24
+ if (Valtype[x]) CValtype[Valtype[x]] = CValtype[x];
25
+ }
26
+
27
+ const todo = msg => {
28
+ class TodoError extends Error {
29
+ constructor(message) {
30
+ super(message);
31
+ this.name = 'TodoError';
32
+ }
33
+ }
34
+
35
+ throw new TodoError(`todo: ${msg}`);
36
+ };
37
+
38
+ const removeBrackets = str => {
39
+ if (str.startsWith('(long)(unsigned long)')) return '(long)(unsigned long)(' + removeBrackets(str.slice(22, -1)) + ')';
40
+ return str.startsWith('(') && str.endsWith(')') ? str.slice(1, -1) : str;
41
+ };
42
+
43
+ export default ({ funcs, globals, tags, exceptions, pages }) => {
44
+ const invOperatorOpcode = Object.values(operatorOpcode).reduce((acc, x) => {
45
+ for (const k in x) {
46
+ acc[x[k]] = k;
47
+ }
48
+ return acc;
49
+ }, {});
50
+ const invGlobals = inv(globals, x => x.idx);
51
+
52
+ const sanitize = str => str.replace(/[^0-9a-zA-Z_]/g, _ => String.fromCharCode(97 + _.charCodeAt(0) % 32));
53
+
54
+ for (const x in invGlobals) {
55
+ invGlobals[x] = sanitize(invGlobals[x]);
56
+ }
57
+
58
+ const includes = new Map(), unixIncludes = new Map(), winIncludes = new Map();
59
+
60
+ // TODO: make type i16
61
+ let out = `struct ReturnValue {
62
+ ${CValtype.f64} value;
63
+ ${CValtype.i32} type;
64
+ };\n\n`;
65
+
66
+ for (const x in globals) {
67
+ const g = globals[x];
68
+
69
+ out += `${CValtype[g.type]} ${sanitize(x)} = ${g.init ?? 0}`;
70
+ out += ';\n';
71
+ }
72
+
73
+ // for (const [ x, p ] of pages) {
74
+ // out += `${CValtype[p.type]} ${x.replace(': ', '_').replace(/[^0-9a-zA-Z_]/g, '')}[100]`;
75
+ // out += ';\n';
76
+ // }
77
+
78
+ if (out) out += '\n';
79
+
80
+ let depth = 1;
81
+ const line = (str, semi = true) => out += `${' '.repeat(depth * 2)}${str}${semi ? ';' : ''}\n`;
82
+ const lines = lines => {
83
+ for (const x of lines) {
84
+ out += `${' '.repeat(depth * 2)}${x}\n`;
85
+ }
86
+ };
87
+
88
+ const platformSpecific = (win, unix, add = true) => {
89
+ let tmp = '';
90
+
91
+ if (win) {
92
+ if (add) out += '#ifdef _WIN32\n';
93
+ else tmp += '#ifdef _WIN32\n';
94
+
95
+ if (add) lines(win.split('\n'));
96
+ else tmp += win + (win.endsWith('\n') ? '' : '\n');
97
+ }
98
+
99
+ if (unix) {
100
+ if (add) out += (win ? '#else' : '#ifndef _WIN32') + '\n';
101
+ else tmp += (win ? '#else' : '#ifndef _WIN32') + '\n';
102
+
103
+ if (add) lines(unix.split('\n'));
104
+ else tmp += unix + (unix.endsWith('\n') ? '' : '\n');
105
+ }
106
+
107
+ if (win || unix)
108
+ if (add) out += '#endif\n';
109
+ else tmp += '#endif\n';
110
+
111
+ return tmp;
112
+ };
113
+
114
+ for (const f of funcs) {
115
+ depth = 1;
116
+
117
+ const invLocals = inv(f.locals, x => x.idx);
118
+ // if (f.returns.length > 1) todo('funcs returning >1 value unsupported');
119
+
120
+ for (const x in invLocals) {
121
+ invLocals[x] = sanitize(invLocals[x]);
122
+ }
123
+
124
+ const returns = f.returns.length > 0;
125
+
126
+ const shouldInline = f.internal;
127
+ out += `${f.name === 'main' ? 'int' : (f.internal ? 'double' : 'struct ReturnValue')} ${shouldInline ? 'inline ' : ''}${sanitize(f.name)}(${f.params.map((x, i) => `${CValtype[x]} ${invLocals[i]}`).join(', ')}) {\n`;
128
+
129
+ const localKeys = Object.keys(f.locals).sort((a, b) => f.locals[a].idx - f.locals[b].idx).slice(f.params.length).sort((a, b) => f.locals[a].idx - f.locals[b].idx);
130
+ for (const x of localKeys) {
131
+ const l = f.locals[x];
132
+ line(`${CValtype[l.type]} ${sanitize(x)} = 0`);
133
+ }
134
+
135
+ if (localKeys.length !== 0) out += '\n';
136
+
137
+ let vals = [];
138
+ const endNeedsCurly = [], ignoreEnd = [];
139
+ let beginLoop = false, lastCond = false, ifTernary = false;
140
+ for (let _ = 0; _ < f.wasm.length; _++) {
141
+ const i = f.wasm[_];
142
+
143
+ if (invOperatorOpcode[i[0]]) {
144
+ const b = vals.pop();
145
+ const a = vals.pop();
146
+
147
+ let op = invOperatorOpcode[i[0]];
148
+ if (op.length === 3) op = op.slice(0, 2);
149
+
150
+ if (['==', '!=', '>', '>=', '<', '<='].includes(op)) lastCond = true;
151
+ else lastCond = false;
152
+
153
+ // vals.push(`(${removeBrackets(a)} ${op} ${b})`);
154
+ vals.push(`(${a} ${op} ${b})`);
155
+ continue;
156
+ }
157
+
158
+ // misc insts
159
+ if (i[0] === 0xfc) {
160
+ switch (i[1]) {
161
+ // i32_trunc_sat_f64_s
162
+ case 0x02:
163
+ vals.push(`(${CValtype.i32})${vals.pop()}`);
164
+ break;
165
+
166
+ // i32_trunc_sat_f64_u
167
+ case 0x03:
168
+ vals.push(`(${CValtype.i32})(${CValtype.i32_u})${vals.pop()}`);
169
+ break;
170
+ }
171
+
172
+ lastCond = false;
173
+ continue;
174
+ }
175
+
176
+ switch (i[0]) {
177
+ case Opcodes.i32_const:
178
+ case Opcodes.i64_const:
179
+ vals.push(read_signedLEB128(i.slice(1)).toString());
180
+ break;
181
+
182
+ case Opcodes.f64_const:
183
+ vals.push(read_ieee754_binary64(i.slice(1)).toExponential());
184
+ break;
185
+
186
+ case Opcodes.local_get:
187
+ vals.push(`${invLocals[i[1]]}`);
188
+ break;
189
+
190
+ case Opcodes.local_set:
191
+ line(`${invLocals[i[1]]} = ${removeBrackets(vals.pop())}`);
192
+ break;
193
+
194
+ case Opcodes.local_tee:
195
+ // line(`${invLocals[i[1]]} = ${removeBrackets(vals.pop())}`);
196
+ // vals.push(`${invLocals[i[1]]}`);
197
+ vals.push(`((${invLocals[i[1]]} = ${vals.pop()}))`);
198
+ break;
199
+
200
+ case Opcodes.global_get:
201
+ vals.push(`${invGlobals[i[1]]}`);
202
+ break;
203
+
204
+ case Opcodes.global_set:
205
+ line(`${invGlobals[i[1]]} = ${removeBrackets(vals.pop())}`);
206
+ break;
207
+
208
+ case Opcodes.f64_trunc:
209
+ // vals.push(`trunc(${vals.pop()})`);
210
+ vals.push(`(int)(${removeBrackets(vals.pop())})`); // this is ~10x faster with clang??
211
+ break;
212
+
213
+ case Opcodes.f64_convert_i32_u:
214
+ case Opcodes.f64_convert_i32_s:
215
+ case Opcodes.f64_convert_i64_u:
216
+ case Opcodes.f64_convert_i64_s:
217
+ // int to double
218
+ vals.push(`(double)${vals.pop()}`);
219
+ break;
220
+
221
+ case Opcodes.return:
222
+ // line(`return${returns ? ` ${removeBrackets(vals.pop())}` : ''}`);
223
+ line(`return${returns ? ` (struct ReturnValue){ ${removeBrackets(vals.pop())}, ${removeBrackets(vals.pop())} }` : ''}`);
224
+ break;
225
+
226
+ case Opcodes.if:
227
+ let cond = removeBrackets(vals.pop());
228
+ if (!lastCond) {
229
+ if (cond.startsWith('(long)')) cond = `${cond.slice(6)} == 1e+0`;
230
+ else cond += ' == 1';
231
+ }
232
+
233
+ ifTernary = i[1] !== Blocktype.void;
234
+ if (ifTernary) {
235
+ ifTernary = cond;
236
+ break;
237
+ }
238
+
239
+ if (beginLoop) {
240
+ beginLoop = false;
241
+ line(`while (${cond}) {`, false);
242
+
243
+ depth++;
244
+ endNeedsCurly.push(true);
245
+ ignoreEnd.push(false, true);
246
+ break;
247
+ }
248
+
249
+ line(`if (${cond}) {`, false);
250
+
251
+ depth++;
252
+ endNeedsCurly.push(true);
253
+ ignoreEnd.push(false);
254
+ break;
255
+
256
+ case Opcodes.else:
257
+ if (ifTernary) break;
258
+
259
+ depth--;
260
+ line(`} else {`, false);
261
+ depth++;
262
+ break;
263
+
264
+ case Opcodes.loop:
265
+ // not doing properly, fake a while loop
266
+ beginLoop = true;
267
+ break;
268
+
269
+ case Opcodes.end:
270
+ if (ignoreEnd.pop()) break;
271
+
272
+ if (ifTernary) {
273
+ const b = vals.pop();
274
+ const a = vals.pop();
275
+ vals.push(`${ifTernary} ? ${a} : ${b}`);
276
+ break;
277
+ }
278
+
279
+ depth--;
280
+ if (endNeedsCurly.pop() === true) line('}', false);
281
+ break;
282
+
283
+ case Opcodes.call:
284
+ let func = funcs.find(x => x.index === i[1]);
285
+ if (!func) {
286
+ const importFunc = importFuncs[i[1]];
287
+ switch (importFunc.name) {
288
+ case 'print':
289
+ line(`printf("%f\\n", ${vals.pop()})`);
290
+ includes.set('stdio.h', true);
291
+ break;
292
+ case 'printChar':
293
+ line(`printf("%c", (int)(${vals.pop()}))`);
294
+ includes.set('stdio.h', true);
295
+ break;
296
+
297
+ case 'time':
298
+ line(`double _time_out`);
299
+ /* platformSpecific(
300
+ `FILETIME _time_filetime;
301
+ GetSystemTimeAsFileTime(&_time_filetime);
302
+
303
+ ULARGE_INTEGER _time_ularge;
304
+ _time_ularge.LowPart = _time_filetime.dwLowDateTime;
305
+ _time_ularge.HighPart = _time_filetime.dwHighDateTime;
306
+ _time_out = (_time_ularge.QuadPart - 116444736000000000i64) / 10000.;`,
307
+ `struct timespec _time;
308
+ clock_gettime(CLOCK_MONOTONIC, &_time);
309
+ _time_out = _time.tv_nsec / 1000000.;`); */
310
+ platformSpecific(
311
+ `LARGE_INTEGER _time_freq, _time_t;
312
+ QueryPerformanceFrequency(&_time_freq);
313
+ QueryPerformanceCounter(&_time_t);
314
+ _time_out = ((double)_time_t.QuadPart / _time_freq.QuadPart) * 1000.;`,
315
+ `struct timespec _time;
316
+ clock_gettime(CLOCK_MONOTONIC, &_time);
317
+ _time_out = _time.tv_nsec / 1000000. + _time.tv_sec * 1000.;`);
318
+ vals.push(`_time_out`);
319
+
320
+ unixIncludes.set('time.h', true);
321
+ winIncludes.set('windows.h', true);
322
+ break;
323
+
324
+ default:
325
+ log.warning('2c', `unimplemented import: ${importFunc.name}`);
326
+ break;
327
+ }
328
+
329
+ break;
330
+ }
331
+
332
+ let args = [];
333
+ for (let j = 0; j < func.params.length; j++) args.unshift(removeBrackets(vals.pop()));
334
+
335
+ if (func.returns.length > 0) {
336
+ if (func.internal) {
337
+ vals.push(`${sanitize(func.name)}(${args.join(', ')})`);
338
+ } else {
339
+ line(`const struct ReturnValue _ = ${sanitize(func.name)}(${args.join(', ')})`);
340
+ vals.push(`_.value`);
341
+ vals.push(`_.type`);
342
+ }
343
+ } else line(`${sanitize(func.name)}(${args.join(', ')})`);
344
+
345
+ break;
346
+
347
+ case Opcodes.drop:
348
+ // line(vals.pop());
349
+ vals.pop();
350
+ break;
351
+
352
+ case Opcodes.br:
353
+ // ignore
354
+ // reset "stack"
355
+ vals = [];
356
+ break;
357
+
358
+ default:
359
+ log.warning('2c', `unimplemented op: ${invOpcodes[i[0]]}`);
360
+ // todo(`unimplemented op: ${invOpcodes[i[0]]}`);
361
+ }
362
+
363
+ lastCond = false;
364
+ }
365
+
366
+ if (vals.length === 1 && returns) {
367
+ line(`return ${vals.pop()}`);
368
+ }
369
+
370
+ out += '}\n\n';
371
+ }
372
+
373
+ depth = 0;
374
+
375
+ const makeIncludes = includes => [...includes.keys()].map(x => `#include <${x}>\n`).join('');
376
+
377
+ out = platformSpecific(makeIncludes(winIncludes), makeIncludes(unixIncludes), false) + '\n' + makeIncludes(includes) + '\n' + out;
378
+
379
+ return out;
380
+ };
@@ -1,92 +1,92 @@
1
- var btoa_a = str => {
2
- // todo: throw invalid character for unicode
3
-
4
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
5
- const mask = (1 << 6) - 1;
6
-
7
- let out = '';
8
- let bits = 0, buffer = 0;
9
- for (let i = 0; i < str.length; i++) {
10
- buffer = (buffer << 8) | (0xff & str.charCodeAt(i));
11
- bits += 8;
12
-
13
- while (bits > 6) {
14
- bits -= 6;
15
- out += chars[mask & (buffer >> bits)];
16
- }
17
- }
18
-
19
- if (bits) {
20
- out += chars[mask & (buffer << (6 - bits))]
21
- }
22
-
23
- while ((out.length * 6) & 7) {
24
- out += '=';
25
- }
26
-
27
- return out;
28
- };
29
-
30
- var btoa = function (input) {
31
- // todo: throw invalid character for unicode
32
- const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
33
-
34
- let output = "";
35
- let chr1, chr2, chr3, enc1, enc2, enc3, enc4;
36
- let i = 0;
37
-
38
- while (i < input.length) {
39
- chr1 = input.charCodeAt(i++);
40
- chr2 = input.charCodeAt(i++);
41
- chr3 = input.charCodeAt(i++);
42
-
43
- enc1 = chr1 >> 2;
44
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
45
- enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
46
- enc4 = chr3 & 63;
47
-
48
- if (isNaN(chr2)) {
49
- enc3 = enc4 = 64;
50
- } else if (isNaN(chr3)) {
51
- enc4 = 64;
52
- }
53
-
54
- output += keyStr.charAt(enc1);
55
- output += keyStr.charAt(enc2);
56
- output += keyStr.charAt(enc3);
57
- output += keyStr.charAt(enc4);
58
- }
59
-
60
- return output;
61
- };
62
-
63
- var atob_b = function (input) {
64
- const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
65
-
66
- let output = "";
67
- let chr1, chr2, chr3;
68
- let enc1, enc2, enc3, enc4;
69
- let i = 0;
70
-
71
- while (i < input.length) {
72
- enc1 = keyStr.indexOf(input.charAt(i++));
73
- enc2 = keyStr.indexOf(input.charAt(i++));
74
- enc3 = keyStr.indexOf(input.charAt(i++));
75
- enc4 = keyStr.indexOf(input.charAt(i++));
76
-
77
- chr1 = (enc1 << 2) | (enc2 >> 4);
78
- chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
79
- chr3 = ((enc3 & 3) << 6) | enc4;
80
-
81
- output += String.fromCharCode(chr1);
82
-
83
- if (enc3 != 64) {
84
- output += String.fromCharCode(chr2);
85
- }
86
- if (enc4 != 64) {
87
- output += String.fromCharCode(chr3);
88
- }
89
- }
90
-
91
- return output;
1
+ var btoa_a = str => {
2
+ // todo: throw invalid character for unicode
3
+
4
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
5
+ const mask = (1 << 6) - 1;
6
+
7
+ let out = '';
8
+ let bits = 0, buffer = 0;
9
+ for (let i = 0; i < str.length; i++) {
10
+ buffer = (buffer << 8) | (0xff & str.charCodeAt(i));
11
+ bits += 8;
12
+
13
+ while (bits > 6) {
14
+ bits -= 6;
15
+ out += chars[mask & (buffer >> bits)];
16
+ }
17
+ }
18
+
19
+ if (bits) {
20
+ out += chars[mask & (buffer << (6 - bits))]
21
+ }
22
+
23
+ while ((out.length * 6) & 7) {
24
+ out += '=';
25
+ }
26
+
27
+ return out;
28
+ };
29
+
30
+ var btoa = function (input) {
31
+ // todo: throw invalid character for unicode
32
+ const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
33
+
34
+ let output = "";
35
+ let chr1, chr2, chr3, enc1, enc2, enc3, enc4;
36
+ let i = 0;
37
+
38
+ while (i < input.length) {
39
+ chr1 = input.charCodeAt(i++);
40
+ chr2 = input.charCodeAt(i++);
41
+ chr3 = input.charCodeAt(i++);
42
+
43
+ enc1 = chr1 >> 2;
44
+ enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
45
+ enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
46
+ enc4 = chr3 & 63;
47
+
48
+ if (isNaN(chr2)) {
49
+ enc3 = enc4 = 64;
50
+ } else if (isNaN(chr3)) {
51
+ enc4 = 64;
52
+ }
53
+
54
+ output += keyStr.charAt(enc1);
55
+ output += keyStr.charAt(enc2);
56
+ output += keyStr.charAt(enc3);
57
+ output += keyStr.charAt(enc4);
58
+ }
59
+
60
+ return output;
61
+ };
62
+
63
+ var atob_b = function (input) {
64
+ const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
65
+
66
+ let output = "";
67
+ let chr1, chr2, chr3;
68
+ let enc1, enc2, enc3, enc4;
69
+ let i = 0;
70
+
71
+ while (i < input.length) {
72
+ enc1 = keyStr.indexOf(input.charAt(i++));
73
+ enc2 = keyStr.indexOf(input.charAt(i++));
74
+ enc3 = keyStr.indexOf(input.charAt(i++));
75
+ enc4 = keyStr.indexOf(input.charAt(i++));
76
+
77
+ chr1 = (enc1 << 2) | (enc2 >> 4);
78
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
79
+ chr3 = ((enc3 & 3) << 6) | enc4;
80
+
81
+ output += String.fromCharCode(chr1);
82
+
83
+ if (enc3 != 64) {
84
+ output += String.fromCharCode(chr2);
85
+ }
86
+ if (enc4 != 64) {
87
+ output += String.fromCharCode(chr3);
88
+ }
89
+ }
90
+
91
+ return output;
92
92
  };
@@ -1,6 +1,5 @@
1
1
  import { Blocktype, Opcodes, Valtype } from "./wasmSpec.js";
2
2
  import { number, i32x4 } from "./embedding.js";
3
- import { signedLEB128 } from "./encoding.js";
4
3
 
5
4
  export const importedFuncs = [
6
5
  {
@@ -15,12 +14,6 @@ export const importedFuncs = [
15
14
  params: 1,
16
15
  returns: 0
17
16
  },
18
- {
19
- name: 'assert',
20
- import: 'a',
21
- params: 1,
22
- returns: 0
23
- },
24
17
  {
25
18
  name: 'time',
26
19
  import: 't',
@@ -402,7 +395,7 @@ export const BuiltinFuncs = function() {
402
395
 
403
396
  // this is an implementation of xorshift128+ (in wasm bytecode)
404
397
  // fun fact: v8, SM, JSC also use this (you will need this fun fact to maintain your sanity reading this code)
405
- const prngSeed0 = Math.floor(Math.random() * (2 ** 30)), prngSeed1 = Math.floor(Math.random() * (2 ** 30));
398
+ const prngSeed0 = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER), prngSeed1 = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
406
399
 
407
400
  this.__Math_random = {
408
401
  floatOnly: true,
@@ -416,13 +409,13 @@ export const BuiltinFuncs = function() {
416
409
  wasm: [
417
410
  // setup: s1 = state0, s0 = state1, state0 = s0
418
411
  [ Opcodes.global_get, 0 ], // state0
419
- [ Opcodes.local_set, 0 ], // s1
412
+ [ Opcodes.local_tee, 0 ], // s1
420
413
  [ Opcodes.global_get, 1 ], // state1
421
414
  [ Opcodes.local_tee, 1, ], // s0
422
415
  [ Opcodes.global_set, 0 ], // state0
423
416
 
424
417
  // s1 ^= s1 << 23
425
- [ Opcodes.local_get, 0 ], // s1
418
+ // [ Opcodes.local_get, 0 ], // s1
426
419
  [ Opcodes.local_get, 0 ], // s1
427
420
  [ Opcodes.i64_const, 23 ],
428
421
  [ Opcodes.i64_shl ], // <<
@@ -452,12 +445,26 @@ export const BuiltinFuncs = function() {
452
445
 
453
446
  // you thought it was over? now we need the result as a f64 between 0-1 :)
454
447
 
455
- // mantissa = (state1 + s0) & ((1 << 53) - 1)
448
+ // state1 + s0
456
449
  [ Opcodes.global_get, 1 ], // state1
457
450
  [ Opcodes.local_get, 1 ], // s0
458
451
  [ Opcodes.i64_add ],
459
452
 
460
- [ Opcodes.i64_const, ...signedLEB128((1 << 53) - 1) ],
453
+ // should we >> 12 here?
454
+ // it feels like it but it breaks values
455
+
456
+ // | 0x3FF0000000000000
457
+ // [ Opcodes.i64_const, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x3f ],
458
+ // [ Opcodes.i64_or ],
459
+
460
+ // bit cast as f64
461
+ // [ Opcodes.f64_reinterpret_i64 ],
462
+
463
+ // - 1
464
+ // ...number(1),
465
+ // [ Opcodes.f64_sub ],
466
+
467
+ ...number((1 << 53) - 1, Valtype.i64),
461
468
  [ Opcodes.i64_and ],
462
469
 
463
470
  // double(mantissa)
@@ -568,7 +575,6 @@ export const BuiltinFuncs = function() {
568
575
  params: [ Valtype.i32 ],
569
576
  locals: [],
570
577
  returns: [ Valtype.v128 ],
571
- memory: true,
572
578
  wasm: [
573
579
  [ Opcodes.local_get, 0 ],
574
580
  [ ...Opcodes.v128_load, 0, 0 ]