eliminate retainRelease and skippedRelease

This commit is contained in:
dcode
2019-05-25 19:16:09 +02:00
parent bd9d77e151
commit 3224925e47
37 changed files with 8521 additions and 5537 deletions

View File

@ -1915,13 +1915,10 @@
local.get $7
call $~lib/rt/stub/__retain
)
(func $~lib/rt/stub/__skippedRelease (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/rt/stub/__release (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/stub/__release (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array<i32>> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array<i32>> (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2091,7 +2088,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/arraybuffer/ArrayBuffer.isView<usize> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<usize> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
if
block (result i32)
@ -2205,7 +2202,7 @@
end
i32.const 0
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2375,7 +2372,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2545,7 +2542,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2715,12 +2712,10 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/rt/stub/__retainRelease (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
local.get $1
i32.const 1073741808
local.get $2
@ -2763,10 +2758,22 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $3
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $3
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $5
end
i32.store
local.get $0
local.get $3
@ -2776,7 +2783,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Uint8Array#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
if (result i32)
@ -2794,7 +2801,7 @@
local.set $0
local.get $0
)
(func $~lib/rt/__allocArray (; 19 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/rt/__allocArray (; 17 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -2832,7 +2839,7 @@
end
local.get $4
)
(func $~lib/typedarray/Int32Array#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Int32Array#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
if (result i32)
@ -2850,9 +2857,10 @@
local.set $0
local.get $0
)
(func $~lib/dataview/DataView#constructor (; 21 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor (; 19 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $1
call $~lib/rt/stub/__retain
drop
@ -2902,29 +2910,41 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $5
end
i32.store
local.get $1
local.get $2
i32.add
local.set $5
local.set $6
local.get $0
local.get $5
local.get $6
i32.store offset=4
local.get $0
local.get $3
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#get:buffer (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/typedarray/Uint8Array#get:buffer (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load
call $~lib/rt/stub/__retain
)
(func $~lib/dataview/DataView#constructor|trampoline (; 23 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor|trampoline (; 21 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
block $2of2
block $1of2
block $0of2
@ -2949,7 +2969,7 @@
local.get $3
call $~lib/dataview/DataView#constructor
)
(func $start:std/arraybuffer (; 24 ;) (type $FUNCSIG$v)
(func $start:std/arraybuffer (; 22 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -3011,12 +3031,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3031,12 +3055,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const -1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const -1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3051,12 +3079,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 3
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 3
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3071,12 +3103,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 1
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 1
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3091,12 +3127,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const -3
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const -3
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3111,12 +3151,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const -4
i32.const 42
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const -4
i32.const 42
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3131,12 +3175,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 42
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 42
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3301,9 +3349,9 @@
local.get $3
call $~lib/rt/stub/__release
)
(func $start (; 25 ;) (type $FUNCSIG$v)
(func $start (; 23 ;) (type $FUNCSIG$v)
call $start:std/arraybuffer
)
(func $null (; 26 ;) (type $FUNCSIG$v)
(func $null (; 24 ;) (type $FUNCSIG$v)
)
)