mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-22 11:11:43 +00:00
Release on shrink/zero on grow in std/array, managed copyWithin
This commit is contained in:
@ -2367,7 +2367,7 @@
|
||||
if
|
||||
i32.const 176
|
||||
i32.const 488
|
||||
i32.const 102
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -2521,7 +2521,7 @@
|
||||
if
|
||||
i32.const 176
|
||||
i32.const 488
|
||||
i32.const 102
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -2858,7 +2858,7 @@
|
||||
if
|
||||
i32.const 872
|
||||
i32.const 488
|
||||
i32.const 273
|
||||
i32.const 287
|
||||
i32.const 20
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -2905,7 +2905,7 @@
|
||||
call $~lib/rt/pure/__release
|
||||
i32.const 272
|
||||
i32.const 488
|
||||
i32.const 215
|
||||
i32.const 217
|
||||
i32.const 59
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -2942,9 +2942,6 @@
|
||||
(func $~lib/array/Array<i32>#copyWithin (; 50 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $5
|
||||
local.get $3
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
@ -2954,6 +2951,9 @@
|
||||
i32.lt_s
|
||||
select
|
||||
local.set $3
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.tee $5
|
||||
local.get $1
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
@ -2975,7 +2975,10 @@
|
||||
i32.lt_s
|
||||
select
|
||||
end
|
||||
local.set $1
|
||||
local.tee $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
@ -2997,7 +3000,11 @@
|
||||
i32.lt_s
|
||||
select
|
||||
end
|
||||
local.set $2
|
||||
local.tee $2
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $5
|
||||
i32.add
|
||||
local.get $3
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
@ -3021,84 +3028,18 @@
|
||||
end
|
||||
local.get $2
|
||||
i32.sub
|
||||
local.tee $3
|
||||
local.tee $2
|
||||
local.get $4
|
||||
local.get $1
|
||||
i32.sub
|
||||
local.tee $4
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.lt_s
|
||||
select
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.lt_s
|
||||
i32.const 0
|
||||
local.tee $1
|
||||
local.get $2
|
||||
local.get $1
|
||||
i32.lt_s
|
||||
select
|
||||
if
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.tee $4
|
||||
local.get $2
|
||||
i32.add
|
||||
local.set $2
|
||||
local.get $1
|
||||
local.get $4
|
||||
i32.add
|
||||
local.set $1
|
||||
loop $continue|0
|
||||
local.get $3
|
||||
if
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $5
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $5
|
||||
i32.add
|
||||
i32.load
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $1
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $3
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
else
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $5
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $5
|
||||
i32.add
|
||||
local.get $3
|
||||
i32.const 2
|
||||
i32.shl
|
||||
call $~lib/memory/memory.copy
|
||||
end
|
||||
i32.const 2
|
||||
i32.shl
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
)
|
||||
@ -3144,7 +3085,7 @@
|
||||
if
|
||||
i32.const 872
|
||||
i32.const 488
|
||||
i32.const 334
|
||||
i32.const 348
|
||||
i32.const 20
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -3985,7 +3926,7 @@
|
||||
if
|
||||
i32.const 176
|
||||
i32.const 488
|
||||
i32.const 102
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -5397,7 +5338,7 @@
|
||||
if
|
||||
i32.const 176
|
||||
i32.const 488
|
||||
i32.const 102
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -5911,7 +5852,7 @@
|
||||
if
|
||||
i32.const 272
|
||||
i32.const 488
|
||||
i32.const 47
|
||||
i32.const 45
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -6187,7 +6128,7 @@
|
||||
call $~lib/rt/pure/__release
|
||||
i32.const 4040
|
||||
i32.const 488
|
||||
i32.const 114
|
||||
i32.const 121
|
||||
i32.const 38
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -6443,7 +6384,7 @@
|
||||
if
|
||||
i32.const 4040
|
||||
i32.const 488
|
||||
i32.const 99
|
||||
i32.const 106
|
||||
i32.const 45
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -6457,7 +6398,7 @@
|
||||
if
|
||||
i32.const 176
|
||||
i32.const 488
|
||||
i32.const 102
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -6636,7 +6577,7 @@
|
||||
if
|
||||
i32.const 176
|
||||
i32.const 488
|
||||
i32.const 102
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -17031,7 +16972,9 @@
|
||||
i32.load offset=4
|
||||
local.tee $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.load offset=12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.set $0
|
||||
loop $continue|0
|
||||
|
Reference in New Issue
Block a user