Rework inlining logic (#463)

This commit is contained in:
Daniel Wirtz
2019-02-06 23:42:43 +01:00
committed by GitHub
parent 01cade13f9
commit 831054dfd3
40 changed files with 14369 additions and 9544 deletions

View File

@ -1437,25 +1437,26 @@
(local $4 i32)
local.get $0
i32.load
local.set $3
local.set $4
local.get $1
i32.const 0
i32.lt_s
if (result i32)
local.get $1
local.get $3
i32.add
local.tee $4
i32.const 0
local.get $4
i32.add
local.tee $3
i32.const 0
local.get $3
i32.const 0
i32.gt_s
select
else
local.get $1
local.tee $3
local.get $4
local.get $3
local.get $1
local.get $3
local.get $4
i32.lt_s
select
end
@ -1465,33 +1466,34 @@
i32.lt_s
if (result i32)
local.get $2
local.get $3
i32.add
local.tee $4
i32.const 0
local.get $4
i32.add
local.tee $3
i32.const 0
local.get $3
i32.const 0
i32.gt_s
select
else
local.get $2
local.tee $3
local.get $4
local.get $3
local.get $2
local.get $3
local.get $4
i32.lt_s
select
end
local.get $1
i32.sub
local.tee $4
local.tee $3
i32.const 0
local.get $4
local.get $3
i32.const 0
i32.gt_s
select
local.tee $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.tee $3
call $~lib/internal/arraybuffer/allocateUnsafe
local.tee $2
i32.const 8
i32.add
local.get $0
@ -1499,9 +1501,9 @@
i32.add
local.get $1
i32.add
local.get $2
call $~lib/internal/memory/memmove
local.get $3
call $~lib/internal/memory/memmove
local.get $2
)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)