Implement bulk memory operations (#467)

This commit is contained in:
Daniel Wirtz
2019-02-07 11:40:23 +01:00
committed by GitHub
parent 831054dfd3
commit f551bc78e1
23 changed files with 331 additions and 263 deletions

View File

@ -2771,7 +2771,7 @@
i32.shl
i32.add
local.set $4
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $4
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -2821,7 +2821,7 @@
local.get $3
i32.sub
local.set $4
block $~lib/memory/memory.copy|inlined.1
block $memory.copy|inlined.1
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -2942,7 +2942,7 @@
i32.const 1
i32.shl
local.set $7
block $~lib/memory/memory.copy|inlined.2
block $memory.copy|inlined.2
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add

View File

@ -1888,7 +1888,7 @@
call $~lib/env/abort
unreachable
end
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
global.get $std/allocator_arena/ptr1
local.set $0
i32.const 18
@ -1933,7 +1933,7 @@
end
unreachable
end
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
global.get $std/allocator_arena/ptr2
local.set $2
global.get $std/allocator_arena/ptr1

View File

@ -527,7 +527,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -612,7 +612,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.1
block $memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -707,7 +707,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.2
block $memory.fill|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -802,7 +802,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.3
block $memory.fill|inlined.3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add

View File

@ -865,7 +865,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -945,7 +945,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.1
block $memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -2941,7 +2941,7 @@
local.get $1
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -2967,7 +2967,7 @@
local.get $3
local.set $0
end
block $~lib/memory/memory.fill|inlined.3
block $memory.fill|inlined.3
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -3598,7 +3598,7 @@
local.get $2
i32.store
end
block $~lib/memory/memory.copy|inlined.4
block $memory.copy|inlined.4
local.get $2
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -3691,7 +3691,7 @@
i32.const 1
i32.sub
local.set $7
block $~lib/memory/memory.copy|inlined.5
block $memory.copy|inlined.5
local.get $2
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -4006,7 +4006,7 @@
i32.shl
i32.add
local.set $8
block $~lib/memory/memory.copy|inlined.6
block $memory.copy|inlined.6
local.get $7
i32.load
global.get $~lib/internal/arraybuffer/HEADER_SIZE
@ -4715,7 +4715,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.4
block $memory.fill|inlined.4
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -5724,7 +5724,7 @@
br $~lib/memory/memory.allocate|inlined.1
end
local.set $6
block $~lib/memory/memory.fill|inlined.5
block $memory.fill|inlined.5
local.get $6
local.set $5
i32.const 0
@ -6683,7 +6683,7 @@
br $~lib/memory/memory.allocate|inlined.2
end
local.set $6
block $~lib/memory/memory.fill|inlined.6
block $memory.fill|inlined.6
local.get $6
local.set $5
i32.const 0
@ -7675,7 +7675,7 @@
br $~lib/memory/memory.allocate|inlined.3
end
local.set $6
block $~lib/memory/memory.fill|inlined.7
block $memory.fill|inlined.7
local.get $6
local.set $5
i32.const 0
@ -8521,7 +8521,7 @@
br $~lib/memory/memory.allocate|inlined.4
end
local.set $6
block $~lib/memory/memory.fill|inlined.8
block $memory.fill|inlined.8
local.get $6
local.set $5
i32.const 0
@ -9496,7 +9496,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.9
block $memory.fill|inlined.9
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -10071,7 +10071,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.10
block $memory.fill|inlined.10
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -11336,7 +11336,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.11
block $memory.fill|inlined.11
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -13554,7 +13554,7 @@
i32.shl
i32.add
local.set $4
block $~lib/memory/memory.copy|inlined.9
block $memory.copy|inlined.9
local.get $4
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -13604,7 +13604,7 @@
local.get $3
i32.sub
local.set $4
block $~lib/memory/memory.copy|inlined.10
block $memory.copy|inlined.10
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -13725,7 +13725,7 @@
i32.const 1
i32.shl
local.set $7
block $~lib/memory/memory.copy|inlined.11
block $memory.copy|inlined.11
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -14423,7 +14423,7 @@
local.get $3
select
local.set $5
block $~lib/memory/memory.copy|inlined.12
block $memory.copy|inlined.12
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -14908,7 +14908,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.12
block $memory.fill|inlined.12
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add

View File

@ -1951,7 +1951,7 @@
local.get $6
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $7
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $7
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -2074,7 +2074,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.1
block $memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -2155,7 +2155,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.2
block $memory.fill|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add

View File

@ -439,7 +439,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add

View File

@ -2310,7 +2310,7 @@
local.get $1
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -2329,7 +2329,7 @@
local.get $3
local.set $0
end
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add

View File

@ -1919,7 +1919,7 @@
local.get $1
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -1945,7 +1945,7 @@
local.get $3
local.set $0
end
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add

View File

@ -2224,7 +2224,7 @@
i32.shr_u
call $~lib/internal/string/allocateUnsafe
local.set $7
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $7
global.get $~lib/internal/string/HEADER_SIZE
i32.add

View File

@ -2481,7 +2481,7 @@
i32.lt_s
i32.eqz
br_if $break|5
block $~lib/memory/memory.copy|inlined.0
block $memory.copy|inlined.0
local.get $6
local.get $8
i32.add
@ -4249,7 +4249,7 @@
local.get $0
local.get $1
i32.store offset=4
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -4351,7 +4351,7 @@
local.get $1
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.copy|inlined.2
block $memory.copy|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -4377,7 +4377,7 @@
local.get $3
local.set $0
end
block $~lib/memory/memory.fill|inlined.1
block $memory.fill|inlined.1
local.get $0
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -6271,7 +6271,7 @@
i32.shl
i32.add
local.set $4
block $~lib/memory/memory.copy|inlined.3
block $memory.copy|inlined.3
local.get $4
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -6321,7 +6321,7 @@
local.get $3
i32.sub
local.set $4
block $~lib/memory/memory.copy|inlined.4
block $memory.copy|inlined.4
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add
@ -6442,7 +6442,7 @@
i32.const 1
i32.shl
local.set $7
block $~lib/memory/memory.copy|inlined.5
block $memory.copy|inlined.5
local.get $0
global.get $~lib/internal/string/HEADER_SIZE
i32.add

View File

@ -503,7 +503,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.0
block $memory.fill|inlined.0
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -584,7 +584,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.1
block $memory.fill|inlined.1
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -679,7 +679,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.2
block $memory.fill|inlined.2
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -760,7 +760,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.3
block $memory.fill|inlined.3
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -841,7 +841,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.4
block $memory.fill|inlined.4
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -922,7 +922,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.5
block $memory.fill|inlined.5
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -1003,7 +1003,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.6
block $memory.fill|inlined.6
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -1084,7 +1084,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.7
block $memory.fill|inlined.7
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -1165,7 +1165,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.8
block $memory.fill|inlined.8
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -1246,7 +1246,7 @@
local.get $2
call $~lib/internal/arraybuffer/allocateUnsafe
local.set $3
block $~lib/memory/memory.fill|inlined.9
block $memory.fill|inlined.9
local.get $3
global.get $~lib/internal/arraybuffer/HEADER_SIZE
i32.add
@ -2390,7 +2390,7 @@
br $~lib/memory/memory.allocate|inlined.3
end
local.set $6
block $~lib/memory/memory.fill|inlined.10
block $memory.fill|inlined.10
local.get $6
local.set $5
i32.const 0