warpo 3.1.3 → 3.2.1

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 (132) hide show
  1. package/assemblyscript/std/README.md +5 -0
  2. package/assemblyscript/std/assembly/array.ts +542 -0
  3. package/assemblyscript/std/assembly/arraybuffer.ts +72 -0
  4. package/assemblyscript/std/assembly/builtins.ts +2312 -0
  5. package/assemblyscript/std/assembly/compat.ts +2 -0
  6. package/assemblyscript/std/assembly/dataview.ts +144 -0
  7. package/assemblyscript/std/assembly/date.ts +383 -0
  8. package/assemblyscript/std/assembly/diagnostics.ts +11 -0
  9. package/assemblyscript/std/assembly/error.ts +39 -0
  10. package/assemblyscript/std/assembly/function.ts +44 -0
  11. package/assemblyscript/std/assembly/iterator.ts +24 -0
  12. package/assemblyscript/std/assembly/map.ts +304 -0
  13. package/assemblyscript/std/assembly/math.ts +3401 -0
  14. package/assemblyscript/std/assembly/memory.ts +110 -0
  15. package/assemblyscript/std/assembly/number.ts +388 -0
  16. package/assemblyscript/std/assembly/object.ts +30 -0
  17. package/assemblyscript/std/assembly/polyfills.ts +24 -0
  18. package/assemblyscript/std/assembly/process.ts +7 -0
  19. package/assemblyscript/std/assembly/promise.ts +172 -0
  20. package/assemblyscript/std/assembly/reference.ts +48 -0
  21. package/assemblyscript/std/assembly/regexp.ts +16 -0
  22. package/assemblyscript/std/assembly/rt/common.ts +79 -0
  23. package/assemblyscript/std/assembly/rt/index-incremental.ts +4 -0
  24. package/assemblyscript/std/assembly/rt/index-radical.ts +4 -0
  25. package/assemblyscript/std/assembly/rt/index.d.ts +37 -0
  26. package/assemblyscript/std/assembly/rt/itcms.ts +415 -0
  27. package/assemblyscript/std/assembly/rt/tcms.ts +276 -0
  28. package/assemblyscript/std/assembly/rt/tlsf.ts +564 -0
  29. package/assemblyscript/std/assembly/rt.ts +71 -0
  30. package/assemblyscript/std/assembly/set.ts +261 -0
  31. package/assemblyscript/std/assembly/shared/feature.ts +69 -0
  32. package/assemblyscript/std/assembly/shared/host.ts +12 -0
  33. package/assemblyscript/std/assembly/shared/runtime.ts +9 -0
  34. package/assemblyscript/std/assembly/shared/target.ts +9 -0
  35. package/assemblyscript/std/assembly/shared/tsconfig.json +9 -0
  36. package/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
  37. package/assemblyscript/std/assembly/staticarray.ts +446 -0
  38. package/assemblyscript/std/assembly/string.ts +892 -0
  39. package/assemblyscript/std/assembly/symbol.ts +61 -0
  40. package/assemblyscript/std/assembly/table.ts +15 -0
  41. package/assemblyscript/std/assembly/tsconfig.json +4 -0
  42. package/assemblyscript/std/assembly/tuple.ts +36 -0
  43. package/assemblyscript/std/assembly/typedarray.ts +2000 -0
  44. package/assemblyscript/std/assembly/uri.ts +17 -0
  45. package/assemblyscript/std/assembly/util/bytes.ts +90 -0
  46. package/assemblyscript/std/assembly/util/casemap.ts +264 -0
  47. package/assemblyscript/std/assembly/util/error.ts +54 -0
  48. package/assemblyscript/std/assembly/util/hash.ts +117 -0
  49. package/assemblyscript/std/assembly/util/math.ts +1922 -0
  50. package/assemblyscript/std/assembly/util/memory.ts +309 -0
  51. package/assemblyscript/std/assembly/util/number.ts +884 -0
  52. package/assemblyscript/std/assembly/util/sort.ts +282 -0
  53. package/assemblyscript/std/assembly/util/string.ts +1075 -0
  54. package/assemblyscript/std/assembly/util/uri.ts +251 -0
  55. package/assemblyscript/std/assembly/vector.ts +3 -0
  56. package/dist/common/leb128.d.ts +5 -0
  57. package/dist/common/leb128.js +17 -0
  58. package/dist/common/leb128.js.map +1 -0
  59. package/dist/debug_server/debugSession.d.ts +31 -1
  60. package/dist/debug_server/debugSession.js +477 -99
  61. package/dist/debug_server/debugSession.js.map +1 -1
  62. package/dist/debug_server/debugTrace.d.ts +2 -0
  63. package/dist/debug_server/debugTrace.js +38 -0
  64. package/dist/debug_server/debugTrace.js.map +1 -0
  65. package/dist/debug_server/debugger.d.ts +5 -1
  66. package/dist/debug_server/debuggerWasmModule.d.ts +9 -0
  67. package/dist/debug_server/debuggerWasmModule.js +182 -4
  68. package/dist/debug_server/debuggerWasmModule.js.map +1 -1
  69. package/dist/debug_server/nodeDebugger.d.ts +12 -1
  70. package/dist/debug_server/nodeDebugger.js +74 -28
  71. package/dist/debug_server/nodeDebugger.js.map +1 -1
  72. package/dist/debug_server/tests/debugSession.test.js +556 -22
  73. package/dist/debug_server/tests/debugSession.test.js.map +1 -1
  74. package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.d.ts +1 -0
  75. package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.js +12 -0
  76. package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.js.map +1 -0
  77. package/dist/debug_server/tests/testModule/debugger_closure_stepping.d.ts +1 -0
  78. package/dist/debug_server/tests/testModule/debugger_closure_stepping.js +12 -0
  79. package/dist/debug_server/tests/testModule/debugger_closure_stepping.js.map +1 -0
  80. package/dist/debug_server/tests/testModule/debugger_function_closure.d.ts +1 -0
  81. package/dist/debug_server/tests/testModule/debugger_function_closure.js +24 -0
  82. package/dist/debug_server/tests/testModule/debugger_function_closure.js.map +1 -0
  83. package/dist/debug_server/tests/testModule/debugger_import.case.d.ts +1 -0
  84. package/dist/debug_server/tests/testModule/debugger_import.case.js +9 -0
  85. package/dist/debug_server/tests/testModule/debugger_import.case.js.map +1 -0
  86. package/dist/debug_server/tests/testModule/debugger_import.d.ts +1 -0
  87. package/dist/debug_server/tests/testModule/debugger_import.js +6 -0
  88. package/dist/debug_server/tests/testModule/debugger_import.js.map +1 -0
  89. package/dist/debug_server/tests/testModule/debugger_pause.d.ts +1 -0
  90. package/dist/debug_server/tests/testModule/debugger_pause.js +9 -0
  91. package/dist/debug_server/tests/testModule/debugger_pause.js.map +1 -0
  92. package/dist/debug_server/tests/testModule/debugger_std_array.d.ts +1 -0
  93. package/dist/debug_server/tests/testModule/debugger_std_array.js +6 -0
  94. package/dist/debug_server/tests/testModule/debugger_std_array.js.map +1 -0
  95. package/dist/debug_server/tests/testModule/debugger_stepping.d.ts +3 -0
  96. package/dist/debug_server/tests/testModule/debugger_stepping.js +28 -0
  97. package/dist/debug_server/tests/testModule/debugger_stepping.js.map +1 -0
  98. package/dist/debug_server/tests/testModule/debugger_string_stepping.d.ts +1 -0
  99. package/dist/debug_server/tests/testModule/debugger_string_stepping.js +9 -0
  100. package/dist/debug_server/tests/testModule/debugger_string_stepping.js.map +1 -0
  101. package/dist/debug_server/tests/testModule/debugger_typed_array.d.ts +1 -0
  102. package/dist/debug_server/tests/testModule/debugger_typed_array.js +52 -0
  103. package/dist/debug_server/tests/testModule/debugger_typed_array.js.map +1 -0
  104. package/dist/debug_server/tests/testModule/debugger_utf8_const_str.d.ts +1 -0
  105. package/dist/debug_server/tests/testModule/debugger_utf8_const_str.js +10 -0
  106. package/dist/debug_server/tests/testModule/debugger_utf8_const_str.js.map +1 -0
  107. package/dist/dwarf/dwarfParser.js +6 -13
  108. package/dist/dwarf/dwarfParser.js.map +1 -1
  109. package/dist/dwarf/functionDebugInfo.d.ts +3 -0
  110. package/dist/dwarf/functionDebugInfo.js +24 -0
  111. package/dist/dwarf/functionDebugInfo.js.map +1 -1
  112. package/package.json +7 -7
  113. package/warpo_extension/std/tsconfig.json +4 -0
  114. package/warpo_extension/std/warpo/ffi.ts +16 -0
  115. package/warpo_extension/std/warpo/test/comparison.ts +122 -0
  116. package/warpo_extension/std/warpo/test/env.ts +33 -0
  117. package/warpo_extension/std/warpo/test/expect.ts +101 -0
  118. package/warpo_extension/std/warpo/test/formatPrint.ts +99 -0
  119. package/warpo_extension/std/warpo/test/implement.ts +41 -0
  120. package/warpo_extension/std/warpo/test/index.d.ts +0 -0
  121. package/warpo_extension/std/warpo/test/index.ts +39 -0
  122. package/warpo_extension/std/warpo/test/mockInstrument.ts +26 -0
  123. package/warpo_extension/std/warpo/utf8/const_str.ts +17 -0
  124. package/warpo_extension/std/wasi_snapshot_preview1/LICENSE +202 -0
  125. package/warpo_extension/std/wasi_snapshot_preview1/README.md +1 -0
  126. package/warpo_extension/std/wasi_snapshot_preview1/bindings/wasi_snapshot_preview1.ts +1731 -0
  127. package/warpo_extension/std/wasi_snapshot_preview1/wasi_console.ts +96 -0
  128. package/warpo_extension/std/wasi_snapshot_preview1/wasi_crypto.ts +8 -0
  129. package/warpo_extension/std/wasi_snapshot_preview1/wasi_date.ts +13 -0
  130. package/warpo_extension/std/wasi_snapshot_preview1/wasi_internal.ts +119 -0
  131. package/warpo_extension/std/wasi_snapshot_preview1/wasi_performance.ts +11 -0
  132. package/warpo_extension/std/wasi_snapshot_preview1/wasi_process.ts +191 -0
@@ -0,0 +1,61 @@
1
+ import { Map } from "./map";
2
+
3
+ // @ts-ignore: decorator
4
+ @lazy
5
+ const stringToId: Map<string, usize> = new Map();
6
+
7
+ // @ts-ignore: decorator
8
+ @lazy
9
+ const idToString: Map<usize, string> = new Map();
10
+
11
+ // @ts-ignore: decorator
12
+ @lazy
13
+ const idToDesc: Map<usize, string | null> = new Map();
14
+
15
+ function ensureToMap(id: i32, key: string): symbol {
16
+ stringToId.set(key, id);
17
+ idToString.set(id, key);
18
+ return changetype<symbol>(id);
19
+ }
20
+
21
+
22
+ @unmanaged @final
23
+ // @ts-ignore: class name
24
+ export abstract class symbol {
25
+ toString(): string {
26
+ const id = changetype<usize>(this);
27
+ const str: string | null = idToString.has(id) ? idToString.get(id) : idToDesc.get(id);
28
+ if (str == null) return "Symbol()";
29
+ return `Symbol(${str})`;
30
+ }
31
+ }
32
+
33
+ export function Symbol(description: string | null = null): symbol {
34
+ let id = Symbol.nextId++;
35
+ if (!id) unreachable(); // out of ids
36
+ idToDesc.set(id, description);
37
+ return changetype<symbol>(id);
38
+ }
39
+
40
+ export namespace Symbol {
41
+ // @ts-ignore: decorator
42
+ @lazy
43
+ export let nextId: usize = 2;
44
+
45
+ // @ts-ignore: decorator
46
+ @lazy
47
+ export const iterator: symbol = ensureToMap(1, "iterator");
48
+
49
+ // @ts-ignore: decorator
50
+ @__warpo_rename_for
51
+ export function __warpo_for(key: string): symbol {
52
+ if (stringToId.has(key)) return changetype<symbol>(stringToId.get(key));
53
+ let id = Symbol.nextId++;
54
+ if (!id) unreachable(); // out of ids
55
+ return ensureToMap(id, key);
56
+ }
57
+
58
+ export function keyFor(sym: symbol): string | null {
59
+ return idToString.has(changetype<usize>(sym)) ? idToString.get(changetype<usize>(sym)) : null;
60
+ }
61
+ }
@@ -0,0 +1,15 @@
1
+ import { E_NOTIMPLEMENTED } from "./util/error";
2
+
3
+ export namespace table {
4
+ export function copy(dst: u32, src: u32, n: u32): void {
5
+ throw new Error(E_NOTIMPLEMENTED);
6
+ }
7
+
8
+ export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void {
9
+ throw new Error(E_NOTIMPLEMENTED);
10
+ }
11
+
12
+ export function drop(elementIndex: u32): void {
13
+ throw new Error(E_NOTIMPLEMENTED);
14
+ }
15
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "../../../types/tsconfig-std.json",
3
+ "include": ["./**/*.ts"]
4
+ }
@@ -0,0 +1,36 @@
1
+ /// <reference path="./rt/index.d.ts" />
2
+
3
+ import { OBJECT, TOTAL_OVERHEAD } from "rt/common";
4
+
5
+ // @ts-ignore: decorator
6
+ @final export class SmallTuple {
7
+ // | element 0 | element 1 | ... | element n | bitmap (u64) |
8
+ // each element use 1 bit in bitmap to indicate its type:
9
+ // 0 = non-reference
10
+ // 1 = reference
11
+
12
+ private __get<T>(offset: usize): T {
13
+ const elementPtr = changetype<usize>(this) + offset;
14
+ return load<T>(elementPtr);
15
+ }
16
+
17
+ private __set<T>(offset: usize, value: T): void {
18
+ const elementPtr = changetype<usize>(this) + offset;
19
+ store<T>(elementPtr, value);
20
+ if (isReference<T>()) {
21
+ __link(changetype<usize>(this), changetype<usize>(value), false);
22
+ }
23
+ }
24
+
25
+ // RT integration
26
+ private __visit(cookie: u32): void {
27
+ const rtSize = <usize>changetype<OBJECT>(changetype<usize>(this) - TOTAL_OVERHEAD).rtSize;
28
+ let remaining = load<u64>(changetype<usize>(this) + rtSize - sizeof<u64>());
29
+ while (remaining != 0) {
30
+ const index = <usize>ctz(remaining);
31
+ const elementPtr = changetype<usize>(this) + (index << alignof<usize>());
32
+ __visit(changetype<usize>(load<usize>(elementPtr)), cookie);
33
+ remaining &= remaining - 1; // Equals to remaining &= ~((<u64>1) << index)
34
+ }
35
+ }
36
+ }