warpo 3.2.0 → 3.2.2
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/debug_server/debugSession.d.ts +1 -0
- package/dist/debug_server/debugSession.js +15 -6
- package/dist/debug_server/debugSession.js.map +1 -1
- package/dist/debug_server/debuggerWasmModule.d.ts +3 -0
- package/dist/debug_server/debuggerWasmModule.js +47 -2
- package/dist/debug_server/debuggerWasmModule.js.map +1 -1
- package/dist/debug_server/tests/debugSession.test.js +96 -0
- package/dist/debug_server/tests/debugSession.test.js.map +1 -1
- 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_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_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/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
|
+
}
|