Rework static memory segment creation; Fix stdlib gc hooks not marking own fields; Align everything to 8 bytes that might be touched by GC

This commit is contained in:
dcodeIO
2018-08-04 00:36:59 +02:00
parent 61de7cf962
commit 631478c7c9
61 changed files with 11944 additions and 5286 deletions

View File

@ -3,9 +3,9 @@
(type $Ii (func (param i64) (result i32)))
(type $v (func))
(memory $0 1)
(data (i32.const 12) "\01\00\00\00a")
(data (i32.const 20) "\02\00\00\00a\00b")
(data (i32.const 28) "\03\00\00\00a\00b\00c")
(data (i32.const 16) "\01\00\00\00a")
(data (i32.const 24) "\02\00\00\00a\00b")
(data (i32.const 32) "\03\00\00\00a\00b\00c")
(export "memory" (memory $0))
(start $start)
(func $~lib/internal/hash/hashStr (; 0 ;) (; has Stack IR ;) (type $ii) (param $0 i32) (result i32)
@ -221,21 +221,21 @@
(drop
(call $std/hash/check
(call $~lib/internal/hash/hashStr
(i32.const 12)
(i32.const 16)
)
)
)
(drop
(call $std/hash/check
(call $~lib/internal/hash/hashStr
(i32.const 20)
(i32.const 24)
)
)
)
(drop
(call $std/hash/check
(call $~lib/internal/hash/hashStr
(i32.const 28)
(i32.const 32)
)
)
)