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

@ -412,6 +412,7 @@
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $1
global.get $~lib/internal/arraybuffer/MAX_BLENGTH
i32.gt_u
@ -437,9 +438,11 @@
local.set $4
i32.const 0
local.set $5
local.get $1
local.set $6
local.get $4
local.get $5
local.get $1
local.get $6
call $~lib/internal/memory/memset
end
local.get $3
@ -1878,6 +1881,7 @@
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
local.get $0
i32.load
local.set $3
@ -1947,20 +1951,24 @@
local.get $6
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $7
local.get $7
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.set $4
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.get $1
i32.add
local.set $5
local.get $4
local.get $5
local.get $6
call $~lib/internal/memory/memmove
block $~lib/memory/memory.copy|inlined.0
local.get $7
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.set $4
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.get $1
i32.add
local.set $5
local.get $6
local.set $8
local.get $4
local.get $5
local.get $8
call $~lib/internal/memory/memmove
end
local.get $7
)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@ -2047,6 +2055,7 @@
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $1
i32.const 1073741816
i32.gt_u
@ -2065,16 +2074,20 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.set $4
i32.const 0
local.set $5
local.get $4
local.get $5
local.get $2
call $~lib/internal/memory/memset
block $~lib/memory/memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.set $4
i32.const 0
local.set $5
local.get $2
local.set $6
local.get $4
local.get $5
local.get $6
call $~lib/internal/memory/memset
end
block (result i32)
local.get $0
i32.eqz
@ -2123,6 +2136,7 @@
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $1
i32.const 268435454
i32.gt_u
@ -2141,16 +2155,20 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.set $4
i32.const 0
local.set $5
local.get $4
local.get $5
local.get $2
call $~lib/internal/memory/memset
block $~lib/memory/memory.fill|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
local.set $4
i32.const 0
local.set $5
local.get $2
local.set $6
local.get $4
local.get $5
local.get $6
call $~lib/internal/memory/memset
end
block (result i32)
local.get $0
i32.eqz