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.
- package/assemblyscript/std/README.md +5 -0
- package/assemblyscript/std/assembly/array.ts +542 -0
- package/assemblyscript/std/assembly/arraybuffer.ts +72 -0
- package/assemblyscript/std/assembly/builtins.ts +2312 -0
- package/assemblyscript/std/assembly/compat.ts +2 -0
- package/assemblyscript/std/assembly/dataview.ts +144 -0
- package/assemblyscript/std/assembly/date.ts +383 -0
- package/assemblyscript/std/assembly/diagnostics.ts +11 -0
- package/assemblyscript/std/assembly/error.ts +39 -0
- package/assemblyscript/std/assembly/function.ts +44 -0
- package/assemblyscript/std/assembly/iterator.ts +24 -0
- package/assemblyscript/std/assembly/map.ts +304 -0
- package/assemblyscript/std/assembly/math.ts +3401 -0
- package/assemblyscript/std/assembly/memory.ts +110 -0
- package/assemblyscript/std/assembly/number.ts +388 -0
- package/assemblyscript/std/assembly/object.ts +30 -0
- package/assemblyscript/std/assembly/polyfills.ts +24 -0
- package/assemblyscript/std/assembly/process.ts +7 -0
- package/assemblyscript/std/assembly/promise.ts +172 -0
- package/assemblyscript/std/assembly/reference.ts +48 -0
- package/assemblyscript/std/assembly/regexp.ts +16 -0
- package/assemblyscript/std/assembly/rt/common.ts +79 -0
- package/assemblyscript/std/assembly/rt/index-incremental.ts +4 -0
- package/assemblyscript/std/assembly/rt/index-radical.ts +4 -0
- package/assemblyscript/std/assembly/rt/index.d.ts +37 -0
- package/assemblyscript/std/assembly/rt/itcms.ts +415 -0
- package/assemblyscript/std/assembly/rt/tcms.ts +276 -0
- package/assemblyscript/std/assembly/rt/tlsf.ts +564 -0
- package/assemblyscript/std/assembly/rt.ts +71 -0
- package/assemblyscript/std/assembly/set.ts +261 -0
- package/assemblyscript/std/assembly/shared/feature.ts +69 -0
- package/assemblyscript/std/assembly/shared/host.ts +12 -0
- package/assemblyscript/std/assembly/shared/runtime.ts +9 -0
- package/assemblyscript/std/assembly/shared/target.ts +9 -0
- package/assemblyscript/std/assembly/shared/tsconfig.json +9 -0
- package/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
- package/assemblyscript/std/assembly/staticarray.ts +446 -0
- package/assemblyscript/std/assembly/string.ts +892 -0
- package/assemblyscript/std/assembly/symbol.ts +61 -0
- package/assemblyscript/std/assembly/table.ts +15 -0
- package/assemblyscript/std/assembly/tsconfig.json +4 -0
- package/assemblyscript/std/assembly/tuple.ts +36 -0
- package/assemblyscript/std/assembly/typedarray.ts +2000 -0
- package/assemblyscript/std/assembly/uri.ts +17 -0
- package/assemblyscript/std/assembly/util/bytes.ts +90 -0
- package/assemblyscript/std/assembly/util/casemap.ts +264 -0
- package/assemblyscript/std/assembly/util/error.ts +54 -0
- package/assemblyscript/std/assembly/util/hash.ts +117 -0
- package/assemblyscript/std/assembly/util/math.ts +1922 -0
- package/assemblyscript/std/assembly/util/memory.ts +309 -0
- package/assemblyscript/std/assembly/util/number.ts +884 -0
- package/assemblyscript/std/assembly/util/sort.ts +282 -0
- package/assemblyscript/std/assembly/util/string.ts +1075 -0
- package/assemblyscript/std/assembly/util/uri.ts +251 -0
- package/assemblyscript/std/assembly/vector.ts +3 -0
- package/dist/common/leb128.d.ts +5 -0
- package/dist/common/leb128.js +17 -0
- package/dist/common/leb128.js.map +1 -0
- package/dist/debug_server/debugSession.d.ts +31 -1
- package/dist/debug_server/debugSession.js +477 -99
- package/dist/debug_server/debugSession.js.map +1 -1
- package/dist/debug_server/debugTrace.d.ts +2 -0
- package/dist/debug_server/debugTrace.js +38 -0
- package/dist/debug_server/debugTrace.js.map +1 -0
- package/dist/debug_server/debugger.d.ts +5 -1
- package/dist/debug_server/debuggerWasmModule.d.ts +9 -0
- package/dist/debug_server/debuggerWasmModule.js +182 -4
- package/dist/debug_server/debuggerWasmModule.js.map +1 -1
- package/dist/debug_server/nodeDebugger.d.ts +12 -1
- package/dist/debug_server/nodeDebugger.js +74 -28
- package/dist/debug_server/nodeDebugger.js.map +1 -1
- package/dist/debug_server/tests/debugSession.test.js +556 -22
- package/dist/debug_server/tests/debugSession.test.js.map +1 -1
- package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.js +12 -0
- package/dist/debug_server/tests/testModule/debugger_breakpoint_validation.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_closure_stepping.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_closure_stepping.js +12 -0
- package/dist/debug_server/tests/testModule/debugger_closure_stepping.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_function_closure.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_function_closure.js +24 -0
- package/dist/debug_server/tests/testModule/debugger_function_closure.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_import.case.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_import.case.js +9 -0
- package/dist/debug_server/tests/testModule/debugger_import.case.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_import.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_import.js +6 -0
- package/dist/debug_server/tests/testModule/debugger_import.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_pause.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_pause.js +9 -0
- package/dist/debug_server/tests/testModule/debugger_pause.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_std_array.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_std_array.js +6 -0
- package/dist/debug_server/tests/testModule/debugger_std_array.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_stepping.d.ts +3 -0
- package/dist/debug_server/tests/testModule/debugger_stepping.js +28 -0
- package/dist/debug_server/tests/testModule/debugger_stepping.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_string_stepping.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_string_stepping.js +9 -0
- package/dist/debug_server/tests/testModule/debugger_string_stepping.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_typed_array.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_typed_array.js +52 -0
- package/dist/debug_server/tests/testModule/debugger_typed_array.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_utf8_const_str.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_utf8_const_str.js +10 -0
- package/dist/debug_server/tests/testModule/debugger_utf8_const_str.js.map +1 -0
- package/dist/dwarf/dwarfParser.js +6 -13
- package/dist/dwarf/dwarfParser.js.map +1 -1
- package/dist/dwarf/functionDebugInfo.d.ts +3 -0
- package/dist/dwarf/functionDebugInfo.js +24 -0
- package/dist/dwarf/functionDebugInfo.js.map +1 -1
- package/package.json +7 -7
- package/warpo_extension/std/tsconfig.json +4 -0
- package/warpo_extension/std/warpo/ffi.ts +16 -0
- package/warpo_extension/std/warpo/test/comparison.ts +122 -0
- package/warpo_extension/std/warpo/test/env.ts +33 -0
- package/warpo_extension/std/warpo/test/expect.ts +101 -0
- package/warpo_extension/std/warpo/test/formatPrint.ts +99 -0
- package/warpo_extension/std/warpo/test/implement.ts +41 -0
- package/warpo_extension/std/warpo/test/index.d.ts +0 -0
- package/warpo_extension/std/warpo/test/index.ts +39 -0
- package/warpo_extension/std/warpo/test/mockInstrument.ts +26 -0
- package/warpo_extension/std/warpo/utf8/const_str.ts +17 -0
- package/warpo_extension/std/wasi_snapshot_preview1/LICENSE +202 -0
- package/warpo_extension/std/wasi_snapshot_preview1/README.md +1 -0
- package/warpo_extension/std/wasi_snapshot_preview1/bindings/wasi_snapshot_preview1.ts +1731 -0
- package/warpo_extension/std/wasi_snapshot_preview1/wasi_console.ts +96 -0
- package/warpo_extension/std/wasi_snapshot_preview1/wasi_crypto.ts +8 -0
- package/warpo_extension/std/wasi_snapshot_preview1/wasi_date.ts +13 -0
- package/warpo_extension/std/wasi_snapshot_preview1/wasi_internal.ts +119 -0
- package/warpo_extension/std/wasi_snapshot_preview1/wasi_performance.ts +11 -0
- 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,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
|
+
}
|