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,16 +3,16 @@
(type $v (func))
(import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64)))
(global $~started (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 196))
(global $HEAP_BASE i32 (i32.const 212))
(memory $0 1)
(data (i32.const 8) "\0d\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00")
(data (i32.const 40) "\0d\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00")
(data (i32.const 72) "\07\00\00\00o\00n\00e\00_\00i\00n\00t\00")
(data (i32.const 92) "\07\00\00\00t\00w\00o\00_\00i\00n\00t\00")
(data (i32.const 112) "\t\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00")
(data (i32.const 136) "\08\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00")
(data (i32.const 156) "\08\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00")
(data (i32.const 176) "\08\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00")
(data (i32.const 96) "\07\00\00\00t\00w\00o\00_\00i\00n\00t\00")
(data (i32.const 120) "\t\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00")
(data (i32.const 144) "\08\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00")
(data (i32.const 168) "\08\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00")
(data (i32.const 192) "\08\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00")
(export "memory" (memory $0))
(export "main" (func $std/trace/main))
(func $std/trace/main (; 1 ;) (type $v)
@ -57,7 +57,7 @@
(f64.const 0)
)
(call $~lib/env/trace
(i32.const 92)
(i32.const 96)
(i32.const 2)
(f64.const 1)
(f64.const 2)
@ -66,7 +66,7 @@
(f64.const 0)
)
(call $~lib/env/trace
(i32.const 112)
(i32.const 120)
(i32.const 3)
(f64.const 1)
(f64.const 2)
@ -75,7 +75,7 @@
(f64.const 0)
)
(call $~lib/env/trace
(i32.const 136)
(i32.const 144)
(i32.const 4)
(f64.const 1)
(f64.const 2)
@ -84,7 +84,7 @@
(f64.const 0)
)
(call $~lib/env/trace
(i32.const 156)
(i32.const 168)
(i32.const 5)
(f64.const 1)
(f64.const 2)
@ -93,7 +93,7 @@
(f64.const 5)
)
(call $~lib/env/trace
(i32.const 176)
(i32.const 192)
(i32.const 5)
(f64.const 1.1)
(f64.const 2.2)