Merge branch 'master' into runtime

This commit is contained in:
dcode
2019-03-27 16:10:59 +01:00
69 changed files with 15243 additions and 10507 deletions

View File

@ -127,17 +127,17 @@
select
if
local.get $0
local.tee $4
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
local.tee $3
local.tee $4
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
local.get $2
@ -299,37 +299,34 @@
local.set $5
local.get $0
local.get $1
local.tee $3
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
local.get $3
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $4
i32.const 1
i32.add
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
local.get $2
@ -357,21 +354,24 @@
local.get $0
i32.const 4
i32.add
local.get $3
i32.const 24
i32.shr_u
local.get $1
i32.const 5
i32.add
i32.load
local.tee $5
local.tee $3
i32.const 8
i32.shl
local.get $3
i32.const 24
i32.shr_u
i32.or
i32.store
local.get $0
i32.const 8
i32.add
local.get $3
i32.const 24
i32.shr_u
local.get $1
i32.const 9
i32.add
@ -379,9 +379,6 @@
local.tee $3
i32.const 8
i32.shl
local.get $5
i32.const 24
i32.shr_u
i32.or
i32.store
local.get $0
@ -426,19 +423,19 @@
local.get $0
i32.const 1
i32.add
local.tee $4
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $3
local.tee $4
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
local.get $2
@ -466,21 +463,24 @@
local.get $0
i32.const 4
i32.add
local.get $3
i32.const 16
i32.shr_u
local.get $1
i32.const 6
i32.add
i32.load
local.tee $5
local.tee $3
i32.const 16
i32.shl
local.get $3
i32.const 16
i32.shr_u
i32.or
i32.store
local.get $0
i32.const 8
i32.add
local.get $3
i32.const 16
i32.shr_u
local.get $1
i32.const 10
i32.add
@ -488,9 +488,6 @@
local.tee $3
i32.const 16
i32.shl
local.get $5
i32.const 16
i32.shr_u
i32.or
i32.store
local.get $0
@ -529,17 +526,17 @@
i32.load
local.set $5
local.get $0
local.tee $4
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
local.tee $3
local.tee $4
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
local.get $2
@ -567,21 +564,24 @@
local.get $0
i32.const 4
i32.add
local.get $3
i32.const 8
i32.shr_u
local.get $1
i32.const 7
i32.add
i32.load
local.tee $5
local.tee $3
i32.const 24
i32.shl
local.get $3
i32.const 8
i32.shr_u
i32.or
i32.store
local.get $0
i32.const 8
i32.add
local.get $3
i32.const 8
i32.shr_u
local.get $1
i32.const 11
i32.add
@ -589,9 +589,6 @@
local.tee $3
i32.const 24
i32.shl
local.get $5
i32.const 8
i32.shr_u
i32.or
i32.store
local.get $0
@ -632,16 +629,13 @@
if
local.get $0
local.get $1
local.tee $3
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $1
local.set $0
local.tee $0
local.get $1
local.get $3
i32.const 1
i32.add
local.tee $1
@ -650,9 +644,127 @@
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
@ -663,162 +775,18 @@
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $4
i32.const 1
i32.add
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
end
@ -828,16 +796,13 @@
if
local.get $0
local.get $1
local.tee $3
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $1
local.set $0
local.tee $0
local.get $1
local.get $3
i32.const 1
i32.add
local.tee $1
@ -846,9 +811,47 @@
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
i32.const 1
i32.add
@ -859,66 +862,18 @@
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $4
i32.const 1
i32.add
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
end
@ -928,16 +883,23 @@
if
local.get $0
local.get $1
local.tee $3
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $1
local.set $0
local.tee $0
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
i32.const 1
i32.add
local.tee $0
local.get $1
local.get $3
i32.const 1
i32.add
local.tee $1
@ -947,30 +909,18 @@
i32.const 1
i32.add
local.tee $3
local.set $0
local.get $3
local.get $1
i32.const 1
i32.add
local.tee $1
i32.load8_u
i32.store8
local.get $0
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $4
i32.const 1
i32.add
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $3
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
end
@ -985,19 +935,19 @@
local.get $0
i32.const 1
i32.add
local.tee $4
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
i32.const 1
i32.add
local.tee $3
local.tee $4
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
end
@ -1067,17 +1017,17 @@
i32.sub
local.set $2
local.get $0
local.tee $4
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
local.tee $3
local.tee $4
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
br $continue|0
@ -1112,17 +1062,17 @@
local.get $2
if
local.get $0
local.tee $4
local.tee $3
i32.const 1
i32.add
local.set $0
local.get $1
local.tee $3
local.tee $4
i32.const 1
i32.add
local.set $1
local.get $4
local.get $3
local.get $4
i32.load8_u
i32.store8
local.get $2
@ -1274,16 +1224,16 @@
i32.sub
i32.const 3
i32.and
local.tee $2
local.tee $1
i32.sub
local.set $1
local.set $2
local.get $0
local.get $2
local.get $1
i32.add
local.tee $0
i32.const 0
i32.store
local.get $1
local.get $2
i32.const -4
i32.and
local.tee $1
@ -1430,6 +1380,16 @@
local.get $1
i32.lt_u
if
i32.const 1
i32.const 32
local.get $1
i32.const 7
i32.add
i32.clz
i32.sub
i32.shl
local.tee $4
local.set $5
i32.const 1
i32.const 32
local.get $2
@ -1443,18 +1403,10 @@
i32.const 312
i32.gt_u
select
i32.const 1
i32.const 32
local.get $1
i32.const 7
i32.add
i32.clz
i32.sub
i32.shl
local.tee $4
local.get $4
i32.lt_u
if
local.get $4
local.get $5
call $~lib/memory/memory.allocate
local.tee $4
local.get $3
@ -1535,26 +1487,26 @@
end
local.get $0
i32.load
local.tee $3
local.tee $2
i32.const 1
local.get $1
i32.shl
local.tee $1
local.tee $3
call $~lib/runtime/reallocate
local.set $2
local.set $1
local.get $1
local.get $2
local.get $3
i32.ne
if
local.get $0
local.get $2
local.get $1
i32.store
local.get $0
local.get $2
local.get $1
i32.store offset=4
end
local.get $0
local.get $1
local.get $3
i32.store offset=8
end
)