Update internal ABI to zero/sign-extend where necessary only (#87)

This commit is contained in:
Daniel Wirtz
2018-05-06 00:00:54 +02:00
committed by GitHub
parent ce2bf00d62
commit 50f6c1c460
72 changed files with 8846 additions and 9459 deletions

View File

@ -377,7 +377,10 @@
(i32.const -1)
(i32.const 255)
)
(get_local $1)
(i32.and
(get_local $1)
(i32.const 255)
)
)
)
(i32.store
@ -2526,27 +2529,24 @@
(return)
)
(if
(i32.and
(if (result i32)
(tee_local $3
(i32.le_u
(i32.add
(get_local $1)
(get_local $2)
)
(get_local $0)
)
)
(get_local $3)
(if (result i32)
(tee_local $3
(i32.le_u
(i32.add
(get_local $0)
(get_local $1)
(get_local $2)
)
(get_local $1)
(get_local $0)
)
)
(i32.const 1)
(get_local $3)
(i32.le_u
(i32.add
(get_local $0)
(get_local $2)
)
(get_local $1)
)
)
(block
(call $~lib/memory/copy_memory
@ -3489,21 +3489,18 @@
)
)
(if
(i32.and
(if (result i32)
(tee_local $4
(i32.eq
(get_local $3)
(i32.const 0)
)
)
(get_local $4)
(i32.ge_s
(get_local $2)
(if (result i32)
(tee_local $4
(i32.eq
(get_local $3)
(i32.const 0)
)
)
(i32.const 1)
(get_local $4)
(i32.ge_s
(get_local $2)
(get_local $3)
)
)
(return
(i32.const -1)
@ -3617,21 +3614,18 @@
)
)
(if
(i32.and
(if (result i32)
(tee_local $4
(i32.eq
(get_local $3)
(i32.const 0)
)
)
(get_local $4)
(i32.ge_s
(get_local $2)
(if (result i32)
(tee_local $4
(i32.eq
(get_local $3)
(i32.const 0)
)
)
(i32.const 1)
(get_local $4)
(i32.ge_s
(get_local $2)
(get_local $3)
)
)
(return
(i32.const 0)
@ -3945,49 +3939,49 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(get_local $4)
)
)
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
(get_local $4)
)
(get_local $5)
)
(i32.const 1)
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
)
(get_local $5)
)
(block
(block
(if
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(block $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.10 (result i32)
(br $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.10
(i32.load offset=8
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 2)
(i32.and
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(block $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.10 (result i32)
(br $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.10
(i32.load offset=8
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(get_local $3)
(get_local $0)
(get_local $1)
)
(get_local $3)
(get_local $0)
(get_local $1)
)
(i32.const 1)
)
(return
(get_local $3)
@ -4083,50 +4077,50 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(get_local $4)
)
)
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
(get_local $4)
)
(get_local $5)
)
(i32.const 1)
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
)
(get_local $5)
)
(block
(block
(if
(i32.eqz
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(block $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.12 (result i32)
(br $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.12
(i32.load offset=8
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 2)
(i32.and
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(block $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.12 (result i32)
(br $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.12
(i32.load offset=8
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(get_local $3)
(get_local $0)
(get_local $1)
)
(get_local $3)
(get_local $0)
(get_local $1)
)
(i32.const 1)
)
)
(return
@ -4217,49 +4211,49 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(get_local $4)
)
)
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
(get_local $4)
)
(get_local $5)
)
(i32.const 1)
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
)
(get_local $5)
)
(block
(block
(if
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(block $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.14 (result i32)
(br $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.14
(i32.load offset=8
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 2)
(i32.and
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(block $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.14 (result i32)
(br $~lib/internal/arraybuffer/loadUnsafe<i32,i32>|inlined.14
(i32.load offset=8
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(get_local $3)
(get_local $0)
(get_local $1)
)
(get_local $3)
(get_local $0)
(get_local $1)
)
(i32.const 1)
)
(return
(i32.const 1)
@ -4351,23 +4345,20 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(get_local $4)
)
)
(if (result i32)
(tee_local $5
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
(get_local $4)
)
(get_local $5)
)
(i32.const 1)
(i32.lt_s
(get_local $3)
(i32.load offset=4
(get_local $0)
)
)
(get_local $5)
)
(block
(block
@ -4556,23 +4547,20 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $6)
(get_local $3)
)
)
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $6)
(i32.load offset=4
(get_local $0)
)
(get_local $3)
)
(get_local $7)
)
(i32.const 1)
(i32.lt_s
(get_local $6)
(i32.load offset=4
(get_local $0)
)
)
(get_local $7)
)
(block
(block
@ -4722,23 +4710,20 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $6)
(get_local $3)
)
)
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $6)
(i32.load offset=4
(get_local $0)
)
(get_local $3)
)
(get_local $7)
)
(i32.const 1)
(i32.lt_s
(get_local $6)
(i32.load offset=4
(get_local $0)
)
)
(get_local $7)
)
(block
(block
@ -4861,23 +4846,20 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $6
(i32.lt_s
(get_local $5)
(get_local $3)
)
)
(if (result i32)
(tee_local $6
(i32.lt_s
(get_local $5)
(i32.load offset=4
(get_local $0)
)
(get_local $3)
)
(get_local $6)
)
(i32.const 1)
(i32.lt_s
(get_local $5)
(i32.load offset=4
(get_local $0)
)
)
(get_local $6)
)
(block
(block
@ -4897,16 +4879,19 @@
)
)
(if
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(get_local $6)
(get_local $5)
(get_local $0)
(get_local $1)
(i32.and
(block (result i32)
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
(get_local $6)
(get_local $5)
(get_local $0)
(get_local $1)
)
)
(i32.const 1)
)
(drop
(call $~lib/array/Array<i32>#push
@ -5017,23 +5002,20 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $5)
(get_local $6)
)
)
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $5)
(i32.load offset=4
(get_local $0)
)
(get_local $6)
)
(get_local $7)
)
(i32.const 1)
(i32.lt_s
(get_local $5)
(i32.load offset=4
(get_local $0)
)
)
(get_local $7)
)
(block
(block
@ -5086,16 +5068,16 @@
)
)
(func $start~anonymous|30 (; 66 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(i32.and
(if (result i32)
(if (result i32)
(i32.and
(get_local $0)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
)
(func $~lib/array/Array<i32>#reduce<bool> (; 67 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@ -5125,23 +5107,20 @@
)
(loop $continue|0
(if
(i32.and
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $5)
(get_local $6)
)
)
(if (result i32)
(tee_local $7
(i32.lt_s
(get_local $5)
(i32.load offset=4
(get_local $0)
)
(get_local $6)
)
(get_local $7)
)
(i32.const 1)
(i32.lt_s
(get_local $5)
(i32.load offset=4
(get_local $0)
)
)
(get_local $7)
)
(block
(block
@ -5188,16 +5167,16 @@
)
)
(func $start~anonymous|31 (; 68 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(i32.and
(if (result i32)
(if (result i32)
(i32.and
(get_local $0)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 100)
)
(i32.const 1)
)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 100)
)
(i32.const 1)
)
)
(func $start~anonymous|32 (; 69 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
@ -5317,16 +5296,16 @@
)
)
(func $start~anonymous|37 (; 75 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(i32.and
(if (result i32)
(if (result i32)
(i32.and
(get_local $0)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
)
(func $~lib/array/Array<i32>#reduceRight<bool> (; 76 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@ -5401,16 +5380,16 @@
)
)
(func $start~anonymous|38 (; 77 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(i32.and
(if (result i32)
(if (result i32)
(i32.and
(get_local $0)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 100)
)
(i32.const 1)
)
(get_local $0)
(i32.gt_s
(get_local $1)
(i32.const 100)
)
(i32.const 1)
)
)
(func $start~anonymous|39 (; 78 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
@ -8206,33 +8185,27 @@
(local $5 i32)
(local $6 i32)
(if
(i32.and
(if (result i32)
(tee_local $2
(i32.and
(if (result i32)
(tee_local $2
(i32.eq
(get_local $0)
(get_local $1)
)
)
(get_local $2)
(i32.eq
(get_local $0)
(i32.const 0)
)
(if (result i32)
(tee_local $2
(if (result i32)
(tee_local $2
(i32.eq
(get_local $0)
(get_local $1)
)
(i32.const 1)
)
(get_local $2)
(i32.eq
(get_local $0)
(i32.const 0)
)
)
(get_local $2)
(i32.eq
(get_local $1)
(i32.const 0)
)
)
(i32.const 1)
(get_local $2)
(i32.eq
(get_local $1)
(i32.const 0)
)
)
(return
(i32.const 0)
@ -8305,33 +8278,27 @@
(local $5 i32)
(local $6 i32)
(if
(i32.and
(if (result i32)
(tee_local $2
(i32.and
(if (result i32)
(tee_local $2
(i32.eq
(get_local $0)
(get_local $1)
)
)
(get_local $2)
(i32.eq
(get_local $0)
(i32.const 0)
)
(if (result i32)
(tee_local $2
(if (result i32)
(tee_local $2
(i32.eq
(get_local $0)
(get_local $1)
)
(i32.const 1)
)
(get_local $2)
(i32.eq
(get_local $0)
(i32.const 0)
)
)
(get_local $2)
(i32.eq
(get_local $1)
(i32.const 0)
)
)
(i32.const 1)
(get_local $2)
(i32.eq
(get_local $1)
(i32.const 0)
)
)
(return
(i32.const 0)
@ -8845,21 +8812,18 @@
)
)
(if
(i32.and
(if (result i32)
(tee_local $2
(i32.eq
(get_local $0)
(i32.const 0)
)
)
(get_local $2)
(if (result i32)
(tee_local $2
(i32.eq
(get_local $1)
(get_local $0)
(i32.const 0)
)
)
(i32.const 1)
(get_local $2)
(i32.eq
(get_local $1)
(i32.const 0)
)
)
(return
(i32.const 0)
@ -9082,21 +9046,18 @@
(local $2 i32)
(if
(i32.eqz
(i32.and
(if (result i32)
(tee_local $1
(i32.gt_s
(get_local $0)
(i32.const 0)
)
)
(i32.le_s
(if (result i32)
(tee_local $1
(i32.gt_s
(get_local $0)
(i32.const 536870910)
(i32.const 0)
)
(get_local $1)
)
(i32.const 1)
(i32.le_s
(get_local $0)
(i32.const 536870910)
)
(get_local $1)
)
)
(block
@ -12356,10 +12317,13 @@
)
)
(set_global $std/array/boolVal
(call $~lib/array/Array<i32>#reduce<bool>
(get_global $std/array/arr)
(i32.const 30)
(i32.const 0)
(i32.and
(call $~lib/array/Array<i32>#reduce<bool>
(get_global $std/array/arr)
(i32.const 30)
(i32.const 0)
)
(i32.const 1)
)
)
(if
@ -12380,10 +12344,13 @@
)
)
(set_global $std/array/boolVal
(call $~lib/array/Array<i32>#reduce<bool>
(get_global $std/array/arr)
(i32.const 31)
(i32.const 0)
(i32.and
(call $~lib/array/Array<i32>#reduce<bool>
(get_global $std/array/arr)
(i32.const 31)
(i32.const 0)
)
(i32.const 1)
)
)
(if
@ -12594,10 +12561,13 @@
)
)
(set_global $std/array/boolVal
(call $~lib/array/Array<i32>#reduceRight<bool>
(get_global $std/array/arr)
(i32.const 37)
(i32.const 0)
(i32.and
(call $~lib/array/Array<i32>#reduceRight<bool>
(get_global $std/array/arr)
(i32.const 37)
(i32.const 0)
)
(i32.const 1)
)
)
(if
@ -12618,10 +12588,13 @@
)
)
(set_global $std/array/boolVal
(call $~lib/array/Array<i32>#reduceRight<bool>
(get_global $std/array/arr)
(i32.const 38)
(i32.const 0)
(i32.and
(call $~lib/array/Array<i32>#reduceRight<bool>
(get_global $std/array/arr)
(i32.const 38)
(i32.const 0)
)
(i32.const 1)
)
)
(if