mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 07:02:13 +00:00
wasm64 asserts
This commit is contained in:
parent
f4dcd22575
commit
c558c1d9b0
@ -1,6 +1,7 @@
|
||||
import { dirent, rwevent, fdstat, filestat, iovec, clocksubscription, fdsubscription, signal, dirprestat } from "bindings/wasi";
|
||||
|
||||
// TODO: WASM64
|
||||
const WASM32 = 1;
|
||||
const WASM64 = 2;
|
||||
|
||||
assert(offsetof<dirent>("next") == 0);
|
||||
assert(offsetof<dirent>("ino") == 8);
|
||||
@ -32,8 +33,15 @@ assert(offsetof<filestat>("ctim") == 48);
|
||||
assert(offsetof<filestat>() == 56);
|
||||
|
||||
assert(offsetof<iovec>("buf") == 0);
|
||||
assert(offsetof<iovec>("buf_len") == 4);
|
||||
assert(offsetof<iovec>() == 8);
|
||||
if (ASC_TARGET == WASM32) {
|
||||
assert(offsetof<iovec>("buf_len") == 4);
|
||||
assert(offsetof<iovec>() == 8);
|
||||
} else if (ASC_TARGET == WASM64) {
|
||||
assert(offsetof<iovec>("buf_len") == 8);
|
||||
assert(offsetof<iovec>() == 16);
|
||||
} else {
|
||||
assert(false);
|
||||
}
|
||||
|
||||
assert(offsetof<clocksubscription>("userdata") == 0);
|
||||
assert(offsetof<clocksubscription>("type") == 8);
|
||||
@ -50,8 +58,15 @@ assert(offsetof<fdsubscription>("fd") == 16);
|
||||
assert(offsetof<fdsubscription>() == 20);
|
||||
|
||||
assert(offsetof<dirprestat>("type") == 0);
|
||||
assert(offsetof<dirprestat>("name_len") == 4);
|
||||
assert(offsetof<dirprestat>() == 8);
|
||||
if (ASC_TARGET == WASM32) {
|
||||
assert(offsetof<dirprestat>("name_len") == 4);
|
||||
assert(offsetof<dirprestat>() == 8);
|
||||
} else if (ASC_TARGET == WASM64) {
|
||||
assert(offsetof<dirprestat>("name_len") == 8);
|
||||
assert(offsetof<dirprestat>() == 16);
|
||||
} else {
|
||||
assert(false);
|
||||
}
|
||||
|
||||
// check assignability of mimicked typed enums
|
||||
var sig: signal = signal.HUP;
|
||||
|
@ -6,6 +6,9 @@
|
||||
(data (i32.const 8) "\07\00\00\00w\00a\00s\00i\00.\00t\00s\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(global $wasi/WASM32 i32 (i32.const 1))
|
||||
(global $wasi/WASM64 i32 (i32.const 2))
|
||||
(global $~lib/ASC_TARGET i32 (i32.const 0))
|
||||
(global $wasi/sig (mut i32) (i32.const 1))
|
||||
(global $~lib/memory/HEAP_BASE i32 (i32.const 28))
|
||||
(export "memory" (memory $0))
|
||||
@ -16,18 +19,6 @@
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 5
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
@ -36,8 +27,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -48,8 +39,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 20
|
||||
i32.const 20
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -60,8 +51,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.const 20
|
||||
i32.const 20
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -72,20 +63,20 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 11
|
||||
i32.const 10
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -96,8 +87,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 10
|
||||
i32.const 10
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -108,8 +99,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 10
|
||||
i32.const 10
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -120,8 +111,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -132,8 +123,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 32
|
||||
i32.const 32
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -144,20 +135,20 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.const 32
|
||||
i32.const 32
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 18
|
||||
i32.const 17
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 2
|
||||
i32.const 2
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -168,8 +159,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.const 2
|
||||
i32.const 2
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -180,8 +171,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -192,8 +183,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -204,20 +195,20 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 24
|
||||
i32.const 23
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -228,8 +219,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -240,8 +231,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 20
|
||||
i32.const 20
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -252,8 +243,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.const 20
|
||||
i32.const 20
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -264,8 +255,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 32
|
||||
i32.const 32
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -276,8 +267,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 40
|
||||
i32.const 40
|
||||
i32.const 32
|
||||
i32.const 32
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -288,8 +279,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 48
|
||||
i32.const 48
|
||||
i32.const 40
|
||||
i32.const 40
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -300,8 +291,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 56
|
||||
i32.const 56
|
||||
i32.const 48
|
||||
i32.const 48
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -312,20 +303,20 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.const 56
|
||||
i32.const 56
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 34
|
||||
i32.const 33
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -336,17 +327,31 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
block
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 37
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 36
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 38
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
@ -355,7 +360,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 38
|
||||
i32.const 46
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -364,90 +369,6 @@
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 39
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 40
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 41
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 32
|
||||
i32.const 32
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 42
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 40
|
||||
i32.const 40
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 43
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 48
|
||||
i32.const 48
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 44
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 56
|
||||
i32.const 56
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 45
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
@ -456,8 +377,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -468,8 +389,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -480,8 +401,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 20
|
||||
i32.const 20
|
||||
i32.const 32
|
||||
i32.const 32
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -492,8 +413,20 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.const 40
|
||||
i32.const 40
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 51
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 48
|
||||
i32.const 48
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -504,8 +437,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
i32.const 56
|
||||
i32.const 56
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -516,6 +449,18 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 55
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
@ -523,11 +468,73 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 54
|
||||
i32.const 56
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 57
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 20
|
||||
i32.const 20
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 58
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 60
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 62
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 8
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 8
|
||||
i32.const 63
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
i32.const 9
|
||||
global.set $wasi/sig
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user