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,52 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
export function _start() {
|
|
3
|
+
return run();
|
|
4
|
+
}
|
|
5
|
+
function run() {
|
|
6
|
+
let int8 = new Int8Array(2);
|
|
7
|
+
int8[0] = -8;
|
|
8
|
+
int8[1] = 8;
|
|
9
|
+
let uint8 = new Uint8Array(2);
|
|
10
|
+
uint8[0] = 9;
|
|
11
|
+
uint8[1] = 19;
|
|
12
|
+
let uint8Clamped = new Uint8ClampedArray(2);
|
|
13
|
+
uint8Clamped[0] = 29;
|
|
14
|
+
uint8Clamped[1] = 39;
|
|
15
|
+
let int16 = new Int16Array(2);
|
|
16
|
+
int16[0] = -49;
|
|
17
|
+
int16[1] = 49;
|
|
18
|
+
let uint16 = new Uint16Array(2);
|
|
19
|
+
uint16[0] = 59;
|
|
20
|
+
uint16[1] = 69;
|
|
21
|
+
let int32 = new Int32Array(2);
|
|
22
|
+
int32[0] = -79;
|
|
23
|
+
int32[1] = 79;
|
|
24
|
+
let uint32 = new Uint32Array(2);
|
|
25
|
+
uint32[0] = 89;
|
|
26
|
+
uint32[1] = 99;
|
|
27
|
+
let int64 = new Int64Array(2);
|
|
28
|
+
int64[0] = -109;
|
|
29
|
+
int64[1] = 109;
|
|
30
|
+
let uint64 = new Uint64Array(2);
|
|
31
|
+
uint64[0] = 119;
|
|
32
|
+
uint64[1] = 129;
|
|
33
|
+
let float32 = new Float32Array(2);
|
|
34
|
+
float32[0] = 1.5;
|
|
35
|
+
float32[1] = 2.5;
|
|
36
|
+
let float64 = new Float64Array(2);
|
|
37
|
+
float64[0] = 3.5;
|
|
38
|
+
float64[1] = 4.5;
|
|
39
|
+
let result = int8[0] +
|
|
40
|
+
uint8[0] +
|
|
41
|
+
uint8Clamped[0] +
|
|
42
|
+
int16[0] +
|
|
43
|
+
uint16[0] +
|
|
44
|
+
int32[0] +
|
|
45
|
+
uint32[0] +
|
|
46
|
+
int64[0] +
|
|
47
|
+
uint64[0] +
|
|
48
|
+
float32[0] +
|
|
49
|
+
float64[0];
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=debugger_typed_array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugger_typed_array.js","sourceRoot":"","sources":["../../../../tools/debug_server/tests/testModule/debugger_typed_array.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,MAAM,UAAU,MAAM;IACpB,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED,SAAS,GAAG;IACV,IAAI,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACb,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,YAAY,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5C,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrB,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrB,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACf,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACf,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACf,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAChB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAChB,IAAI,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,IAAI,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,IAAI,MAAM,GACH,IAAI,CAAC,CAAC,CAAC;QACP,KAAK,CAAC,CAAC,CAAC;QACR,YAAY,CAAC,CAAC,CAAC;QACf,KAAK,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC;QACT,KAAK,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC;QACT,KAAK,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,CAAC,CAAC;QACT,OAAO,CAAC,CAAC,CAAC;QACV,OAAO,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function _start(): i32;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugger_utf8_const_str.js","sourceRoot":"","sources":["../../../../tools/debug_server/tests/testModule/debugger_utf8_const_str.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,MAAM;IACpB,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED,SAAS,GAAG;IACV,IAAI,CAAC,GAAkB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { BinaryReader, } from "wasmparser";
|
|
12
12
|
import assert from "node:assert/strict";
|
|
13
|
+
import { readULEB128 as readUnsignedLEB128 } from "../common/leb128.js";
|
|
13
14
|
// ── DWARF constants ──────────────────────────────────────────────────────────
|
|
14
15
|
/** DWARF tag values (DW_TAG_*). */
|
|
15
16
|
export const DW_TAG = {
|
|
@@ -46,9 +47,11 @@ export const DW_FORM = {
|
|
|
46
47
|
};
|
|
47
48
|
class BufferReader {
|
|
48
49
|
view;
|
|
50
|
+
bytes;
|
|
49
51
|
offset;
|
|
50
52
|
constructor(data, offset = 0) {
|
|
51
53
|
this.view = data instanceof Uint8Array ? new DataView(data.buffer, data.byteOffset, data.byteLength) : data;
|
|
54
|
+
this.bytes = new Uint8Array(this.view.buffer, this.view.byteOffset, this.view.byteLength);
|
|
52
55
|
this.offset = offset;
|
|
53
56
|
}
|
|
54
57
|
get length() {
|
|
@@ -68,19 +71,9 @@ class BufferReader {
|
|
|
68
71
|
return val;
|
|
69
72
|
}
|
|
70
73
|
readULEB128() {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const start = this.offset;
|
|
75
|
-
do {
|
|
76
|
-
if (this.offset >= this.view.byteLength) {
|
|
77
|
-
throw new Error(`ULEB128 read past end of buffer at offset ${start}`);
|
|
78
|
-
}
|
|
79
|
-
byte = this.view.getUint8(this.offset++);
|
|
80
|
-
result |= (byte & 0x7f) << shift;
|
|
81
|
-
shift += 7;
|
|
82
|
-
} while (byte & 0x80);
|
|
83
|
-
return result >>> 0;
|
|
74
|
+
const result = readUnsignedLEB128(this.bytes, this.offset);
|
|
75
|
+
this.offset = result.nextOffset;
|
|
76
|
+
return result.value;
|
|
84
77
|
}
|
|
85
78
|
readString() {
|
|
86
79
|
let end = this.offset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwarfParser.js","sourceRoot":"","sources":["../../tools/dwarf/dwarfParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dwarfParser.js","sourceRoot":"","sources":["../../tools/dwarf/dwarfParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,10 +43,13 @@ export interface DwarfFunctionInfo {
|
|
|
43
43
|
}
|
|
44
44
|
export declare class DwarfFunctionInfoResolver {
|
|
45
45
|
private readonly functions;
|
|
46
|
+
private readonly functionsByName;
|
|
46
47
|
private readonly globals;
|
|
47
48
|
private constructor();
|
|
48
49
|
static fromWasm(wasmBinary: Uint8Array | ArrayBuffer): DwarfFunctionInfoResolver;
|
|
49
50
|
getFunctions(): DwarfFunctionInfo[];
|
|
51
|
+
findFunctionByName(functionName: string): DwarfFunctionInfo | undefined;
|
|
52
|
+
getClosureVariableLevelsByFunctionName(functionName: string): DwarfClosureVariableLevel[] | undefined;
|
|
50
53
|
getGlobals(): DwarfGlobalVariableInfo[];
|
|
51
54
|
findFunctionByBytecodeOffset(bytecodeOffset: number): DwarfFunctionInfo | undefined;
|
|
52
55
|
}
|
|
@@ -5,9 +5,11 @@ import { DW_AT, DW_TAG, buildOffsetMap, getAttr, parseWasmDebugInfo } from "./dw
|
|
|
5
5
|
export const WARPO_DEBUG_CLOSURE_ENV_LOCAL_NAME = "~__warpo_debug_closure_env";
|
|
6
6
|
export class DwarfFunctionInfoResolver {
|
|
7
7
|
functions;
|
|
8
|
+
functionsByName;
|
|
8
9
|
globals;
|
|
9
10
|
constructor(functions, globals) {
|
|
10
11
|
this.functions = functions;
|
|
12
|
+
this.functionsByName = buildFunctionNameMap(functions);
|
|
11
13
|
this.globals = globals;
|
|
12
14
|
}
|
|
13
15
|
static fromWasm(wasmBinary) {
|
|
@@ -33,6 +35,13 @@ export class DwarfFunctionInfoResolver {
|
|
|
33
35
|
getFunctions() {
|
|
34
36
|
return this.functions;
|
|
35
37
|
}
|
|
38
|
+
findFunctionByName(functionName) {
|
|
39
|
+
return this.functionsByName.get(functionName);
|
|
40
|
+
}
|
|
41
|
+
getClosureVariableLevelsByFunctionName(functionName) {
|
|
42
|
+
const functionInfo = this.findFunctionByName(functionName);
|
|
43
|
+
return functionInfo === undefined ? undefined : getClosureVariableLevels(functionInfo);
|
|
44
|
+
}
|
|
36
45
|
getGlobals() {
|
|
37
46
|
return this.globals;
|
|
38
47
|
}
|
|
@@ -223,6 +232,21 @@ function getNodeVariables(node) {
|
|
|
223
232
|
}
|
|
224
233
|
return node.variables;
|
|
225
234
|
}
|
|
235
|
+
function buildFunctionNameMap(functions) {
|
|
236
|
+
const functionsByName = new Map();
|
|
237
|
+
function visit(node) {
|
|
238
|
+
if (node.kind === "function" && !functionsByName.has(node.name)) {
|
|
239
|
+
functionsByName.set(node.name, node);
|
|
240
|
+
}
|
|
241
|
+
for (const child of node.children) {
|
|
242
|
+
visit(child);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
for (const functionInfo of functions) {
|
|
246
|
+
visit(functionInfo);
|
|
247
|
+
}
|
|
248
|
+
return functionsByName;
|
|
249
|
+
}
|
|
226
250
|
function getScopeTrace(node) {
|
|
227
251
|
const scopes = [];
|
|
228
252
|
let current = node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionDebugInfo.js","sourceRoot":"","sources":["../../tools/dwarf/functionDebugInfo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functionDebugInfo.js","sourceRoot":"","sources":["../../tools/dwarf/functionDebugInfo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "warpo",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "next generation AssemblyScript compiler with optimizations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"build:release": "npm run build:ts && npm run build:cpp:release",
|
|
19
19
|
"test:as:ut": "node dist/warpo.js test",
|
|
20
20
|
"test:cpp:ut": "cd build && ctest --output-on-failure",
|
|
21
|
-
"test:as:snapshot": "
|
|
21
|
+
"test:as:snapshot": "node tests/run_native_test.mjs ./build/tests/frontend/warpo_frontend_test",
|
|
22
22
|
"test:opt:snapshot": "node tests/snapshot_diff/index.mjs",
|
|
23
23
|
"test:bootstrap:debug": "./tests/bootstrap/debug.sh",
|
|
24
24
|
"test:bootstrap:release": "./tests/bootstrap/release.sh",
|
|
25
|
-
"test:debug_symbol": "
|
|
26
|
-
"test:debug_symbol:update": "
|
|
25
|
+
"test:debug_symbol": "node tests/run_native_test.mjs ./build/tests/dwarf/TestDebugSymbol",
|
|
26
|
+
"test:debug_symbol:update": "node tests/run_native_test.mjs ./build/tests/dwarf/TestDebugSymbol --update-fixtures",
|
|
27
27
|
"test:dwarf": "node --import tsx --test tools/dwarf/tests/**/*.test.ts",
|
|
28
28
|
"test:debug_server": "node --import tsx --test tools/debug_server/tests/**/*.test.ts",
|
|
29
29
|
"test:heap_analyzer": "cd tools/heap_analyzer && npm test",
|
|
@@ -55,11 +55,12 @@
|
|
|
55
55
|
"files": [
|
|
56
56
|
"asconfig.schema.json",
|
|
57
57
|
"assemblyscript/build-parser/**/*",
|
|
58
|
-
"assemblyscript/std
|
|
58
|
+
"assemblyscript/std/**/*",
|
|
59
59
|
"create",
|
|
60
60
|
"dist",
|
|
61
61
|
"tsconfig-warpo.json",
|
|
62
|
-
"types"
|
|
62
|
+
"types",
|
|
63
|
+
"warpo_extension/std/**/*"
|
|
63
64
|
],
|
|
64
65
|
"devDependencies": {
|
|
65
66
|
"@eslint/js": "^9.0.0",
|
|
@@ -71,7 +72,6 @@
|
|
|
71
72
|
"@vscode/vsce": "^3.0.0",
|
|
72
73
|
"assemblyscript": "^0.28.9",
|
|
73
74
|
"assemblyscript-prettier": "^3.0.4",
|
|
74
|
-
"cross-env": "^10.1.0",
|
|
75
75
|
"cspell": "^9.3.0",
|
|
76
76
|
"diff": "^8.0.0",
|
|
77
77
|
"esbuild": "^0.28.1",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Copyright (C) 2026 wasm-ecosystem
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export namespace ffi {
|
|
5
|
+
// @ts-ignore: decorator
|
|
6
|
+
@unsafe @external("as-builtin-fn", "set_ffi_closure_env")
|
|
7
|
+
export declare function set_ffi_closure_env(value: i32): void;
|
|
8
|
+
|
|
9
|
+
// @ts-ignore: decorator
|
|
10
|
+
@unsafe @builtin
|
|
11
|
+
export declare function multi_return_to_tuple<T>(value: MultiReturn<T>): T;
|
|
12
|
+
|
|
13
|
+
// @ts-ignore: decorator
|
|
14
|
+
@unmanaged
|
|
15
|
+
export class MultiReturn<T> {}
|
|
16
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// Copyright (C) 2025 wasm-ecosystem
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export function isNull<T>(a: T): bool {
|
|
5
|
+
if (!isReference<T>(a)) {
|
|
6
|
+
ERROR("parameter of isNull should be a reference type");
|
|
7
|
+
}
|
|
8
|
+
if (!isNullable<T>(a)) {
|
|
9
|
+
ERROR("parameter of isNull should be nullable");
|
|
10
|
+
}
|
|
11
|
+
return a == null;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function includes<T>(set: T[], value: T): bool {
|
|
15
|
+
for (let i = 0; i < set.length; i++) {
|
|
16
|
+
if (equal<T>(set[i], value)) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function equalArrayBuffer<T>(a: T, b: T): bool {
|
|
24
|
+
if (!(a instanceof ArrayBuffer) || !(b instanceof ArrayBuffer)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (a.byteLength != b.byteLength) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const aRef = changetype<i32>(a);
|
|
31
|
+
const bRef = changetype<i32>(b);
|
|
32
|
+
const wordSize = a.byteLength / 4;
|
|
33
|
+
const remainder = a.byteLength % 4;
|
|
34
|
+
for (let i = 0; i < wordSize; i++) {
|
|
35
|
+
if (load<u32>(aRef + i * 4) != load<u32>(bRef + i * 4)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
for (let i = 0; i < remainder; i++) {
|
|
40
|
+
if (load<u8>(aRef + wordSize * 4 + i) != load<u8>(bRef + wordSize * 4 + i)) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function equalArrayLike<T>(a: T, b: T): bool {
|
|
48
|
+
if (!isArrayLike<T>(a) || !isArrayLike<T>(b)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
if (a.length != b.length) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
for (let i = 0; i < a.length; i++) {
|
|
55
|
+
if (!equal(a[i], b[i])) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function equalMap<T, U>(a: Map<T, U>, b: Map<T, U>): bool {
|
|
63
|
+
const a_key: T[] = a.keys();
|
|
64
|
+
const b_key: T[] = b.keys();
|
|
65
|
+
if (a_key.length != b_key.length) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
for (let i = 0; i < a_key.length; i++) {
|
|
69
|
+
const k: T = a_key[i];
|
|
70
|
+
if (!includes(b_key, k)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
if (!equal(a.get(k), b.get(k))) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function equalSet<T>(a: Set<T>, b: Set<T>): bool {
|
|
81
|
+
if (a.size != b.size) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
const va: T[] = a.values();
|
|
85
|
+
const vb: T[] = b.values();
|
|
86
|
+
for (let i = 0; i < va.length; i++) {
|
|
87
|
+
if (!includes(vb, va[i])) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export function equal<T>(a: T, b: T): bool {
|
|
95
|
+
if (!isReference<T>() || isString<T>()) {
|
|
96
|
+
return a == b;
|
|
97
|
+
}
|
|
98
|
+
if (isNullable(a) || isNullable(b)) {
|
|
99
|
+
if (isNull(a) && isNull(b)) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
if ((isNull(a) && !isNull(b)) || (!isNull(a) && isNull(b))) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const nonnull_a = <NonNullable<T>>a;
|
|
107
|
+
const nonnull_b = <NonNullable<T>>b;
|
|
108
|
+
if (nonnull_a instanceof ArrayBuffer && nonnull_b instanceof ArrayBuffer) {
|
|
109
|
+
return equalArrayBuffer<NonNullable<T>>(nonnull_a, nonnull_b);
|
|
110
|
+
}
|
|
111
|
+
if (isArrayLike<T>(nonnull_a) && isArrayLike<T>(nonnull_b)) {
|
|
112
|
+
return equalArrayLike<NonNullable<T>>(nonnull_a, nonnull_b);
|
|
113
|
+
}
|
|
114
|
+
if (nonnull_a instanceof Map && nonnull_b instanceof Map) {
|
|
115
|
+
return equalMap(nonnull_a, nonnull_b);
|
|
116
|
+
}
|
|
117
|
+
if (nonnull_a instanceof Set && nonnull_b instanceof Set) {
|
|
118
|
+
return equalSet(nonnull_a, nonnull_b);
|
|
119
|
+
}
|
|
120
|
+
ERROR("type is not supported for equality, hint: cannot compare user-defined objects");
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright (C) 2025 wasm-ecosystem
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export namespace assertResult {
|
|
5
|
+
// @ts-ignore: decorators
|
|
6
|
+
@external("__unittest_framework_env","addDescription")
|
|
7
|
+
export declare function addDescription(description: string): void;
|
|
8
|
+
|
|
9
|
+
// @ts-ignore: decorators
|
|
10
|
+
@external("__unittest_framework_env","removeDescription")
|
|
11
|
+
export declare function removeDescription(): void;
|
|
12
|
+
|
|
13
|
+
// @ts-ignore: decorators
|
|
14
|
+
@external("__unittest_framework_env","registerTestFunction")
|
|
15
|
+
export declare function registerTestFunction(index: u32): void;
|
|
16
|
+
|
|
17
|
+
// @ts-ignore: decorators
|
|
18
|
+
@external("__unittest_framework_env","registerBeforeEachFunction")
|
|
19
|
+
export declare function registerBeforeEachFunction(index: u32): boolean;
|
|
20
|
+
|
|
21
|
+
// @ts-ignore: decorators
|
|
22
|
+
@external("__unittest_framework_env","registerAfterEachFunction")
|
|
23
|
+
export declare function registerAfterEachFunction(index: u32): boolean;
|
|
24
|
+
|
|
25
|
+
// @ts-ignore: decorators
|
|
26
|
+
@external("__unittest_framework_env","collectCheckResult")
|
|
27
|
+
export declare function collectCheckResult(
|
|
28
|
+
result: bool,
|
|
29
|
+
codeInfoIndex: number,
|
|
30
|
+
actualValue: string,
|
|
31
|
+
expectValue: string
|
|
32
|
+
): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { equal, isNull } from "./comparison";
|
|
2
|
+
import { assertResult } from "./env";
|
|
3
|
+
import { toJson } from "./formatPrint";
|
|
4
|
+
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
@inline
|
|
7
|
+
const EXPECT_MAX_INDEX = 2147483647;
|
|
8
|
+
|
|
9
|
+
export class Value<T> {
|
|
10
|
+
reversed: bool = false;
|
|
11
|
+
data: T;
|
|
12
|
+
constructor(_data: T) {
|
|
13
|
+
this.data = _data;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
private collect(result: bool, codeInfoIndex: number, actualValue: string, expectValue: string): void {
|
|
17
|
+
assertResult.collectCheckResult(this.reversed ? !result : result, codeInfoIndex, actualValue, expectValue);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
get not(): Value<T> {
|
|
21
|
+
this.reversed = !this.reversed;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
isNull(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
26
|
+
this.collect(isNull<T>(this.data), codeInfoIndex, toJson(this.data), "to be null");
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
notNull(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
30
|
+
this.collect(!isNull<T>(this.data), codeInfoIndex, toJson(this.data), "notNull");
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
equal(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
35
|
+
this.collect(equal<T>(this.data, checkValue), codeInfoIndex, toJson(this.data), "= " + toJson(checkValue));
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
notEqual(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
39
|
+
this.collect(!equal<T>(this.data, checkValue), codeInfoIndex, toJson(this.data), " != " + toJson(checkValue));
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
greaterThan(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
44
|
+
this.collect(this.data > checkValue, codeInfoIndex, toJson(this.data), " > " + toJson(checkValue));
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
greaterThanOrEqual(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
48
|
+
this.collect(this.data >= checkValue, codeInfoIndex, toJson(this.data), " >= " + toJson(checkValue));
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
lessThan(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
52
|
+
this.collect(this.data < checkValue, codeInfoIndex, toJson(this.data), " < " + toJson(checkValue));
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
lessThanOrEqual(checkValue: T, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
56
|
+
this.collect(this.data <= checkValue, codeInfoIndex, toJson(this.data), " <= " + toJson(checkValue));
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
closeTo(checkValue: T, delta: number, codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
61
|
+
const data = this.data;
|
|
62
|
+
if (isFloat<T>(checkValue) && isFloat<T>(data)) {
|
|
63
|
+
this.collect(abs(data - checkValue) < delta, codeInfoIndex, toJson(this.data), " closeTo " + toJson(checkValue));
|
|
64
|
+
} else {
|
|
65
|
+
ERROR("closeTo should only be used in f32 | f64");
|
|
66
|
+
}
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
isa<ExpectType>(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
71
|
+
if (isNullable<T>()) {
|
|
72
|
+
if (this.data == null) {
|
|
73
|
+
this.collect(false, codeInfoIndex, `<<null>>`, `RTID<${idof<ExpectType>()}>`);
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
assert(this.data != null, "data should not be null here");
|
|
78
|
+
this.collect(
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
this.data instanceof ExpectType,
|
|
81
|
+
codeInfoIndex,
|
|
82
|
+
// TODO: need extend chain information
|
|
83
|
+
`RTID<${load<u32>(changetype<usize>(this.data) - 8)}>`,
|
|
84
|
+
`RTID<${idof<ExpectType>()}>`
|
|
85
|
+
);
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
isExactly<ExpectType>(codeInfoIndex: u32 = EXPECT_MAX_INDEX): Value<T> {
|
|
90
|
+
if (isNullable<T>()) {
|
|
91
|
+
if (this.data == null) {
|
|
92
|
+
this.collect(false, codeInfoIndex, `<<null>>`, `RTID<${idof<ExpectType>()}>`);
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
assert(this.data != null, "data should not be null here");
|
|
97
|
+
const rtid = load<u32>(changetype<usize>(this.data) - 8);
|
|
98
|
+
this.collect(rtid == idof<ExpectType>(), codeInfoIndex, `RTID<${rtid}>`, `RTID<${idof<ExpectType>()}>`);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
}
|