mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-20 10:16:37 +00:00
Rename memory instructions; Rework constant handling
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
(module
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $i (func (result i32)))
|
||||
(type $iv (func (param i32)))
|
||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $iiiv (func (param i32 i32 i32)))
|
||||
@ -21,7 +22,6 @@
|
||||
(global $std/symbol/key2 (mut i32) (i32.const 0))
|
||||
(global $std/symbol/key3 (mut i32) (i32.const 0))
|
||||
(global $std/symbol/key4 (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 156))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\03\00\00\001\002\003")
|
||||
(data (i32.const 20) "\0d\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s")
|
||||
@ -46,7 +46,15 @@
|
||||
)
|
||||
(get_local $0)
|
||||
)
|
||||
(func $~lib/allocator/arena/allocate_memory (; 2 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
|
||||
(current_memory)
|
||||
)
|
||||
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(grow_memory
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -78,14 +86,14 @@
|
||||
)
|
||||
(i32.shl
|
||||
(tee_local $2
|
||||
(current_memory)
|
||||
(call $~lib/memory/memory.size)
|
||||
)
|
||||
(i32.const 16)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.lt_s
|
||||
(grow_memory
|
||||
(call $~lib/memory/memory.grow
|
||||
(select
|
||||
(get_local $2)
|
||||
(tee_local $3
|
||||
@ -113,7 +121,7 @@
|
||||
)
|
||||
(if
|
||||
(i32.lt_s
|
||||
(grow_memory
|
||||
(call $~lib/memory/memory.grow
|
||||
(get_local $3)
|
||||
)
|
||||
(i32.const 0)
|
||||
@ -132,7 +140,12 @@
|
||||
)
|
||||
(i32.const 0)
|
||||
)
|
||||
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(call $~lib/allocator/arena/__memory_allocate
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/internal/arraybuffer/computeSize (; 6 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(i32.shl
|
||||
(i32.const 1)
|
||||
(i32.sub
|
||||
@ -146,7 +159,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/internal/arraybuffer/allocUnsafe (; 7 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(if
|
||||
(i32.gt_u
|
||||
@ -165,7 +178,7 @@
|
||||
)
|
||||
(i32.store
|
||||
(tee_local $1
|
||||
(call $~lib/allocator/arena/allocate_memory
|
||||
(call $~lib/memory/memory.allocate
|
||||
(call $~lib/internal/arraybuffer/computeSize
|
||||
(get_local $0)
|
||||
)
|
||||
@ -175,7 +188,7 @@
|
||||
)
|
||||
(get_local $1)
|
||||
)
|
||||
(func $~lib/memory/set_memory (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memset (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
(if
|
||||
@ -505,7 +518,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/memory/memory.fill (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(call $~lib/memory/memset
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(if
|
||||
(i32.gt_u
|
||||
@ -534,7 +554,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(call $~lib/memory/set_memory
|
||||
(call $~lib/memory/memory.fill
|
||||
(i32.add
|
||||
(get_local $3)
|
||||
(i32.const 8)
|
||||
@ -545,7 +565,7 @@
|
||||
)
|
||||
(get_local $3)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#clear (; 7 ;) (type $iv) (param $0 i32)
|
||||
(func $~lib/map/Map<String,usize>#clear (; 11 ;) (type $iv) (param $0 i32)
|
||||
(i32.store
|
||||
(get_local $0)
|
||||
(call $~lib/arraybuffer/ArrayBuffer#constructor
|
||||
@ -579,7 +599,7 @@
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#constructor (; 8 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/map/Map<String,usize>#constructor (; 12 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(if
|
||||
(i32.eqz
|
||||
(get_local $0)
|
||||
@ -587,7 +607,7 @@
|
||||
(block
|
||||
(i32.store
|
||||
(tee_local $0
|
||||
(call $~lib/allocator/arena/allocate_memory
|
||||
(call $~lib/memory/memory.allocate
|
||||
(i32.const 24)
|
||||
)
|
||||
)
|
||||
@ -620,7 +640,7 @@
|
||||
)
|
||||
(get_local $0)
|
||||
)
|
||||
(func $~lib/internal/hash/hashStr (; 9 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/internal/hash/hashStr (; 13 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -668,7 +688,8 @@
|
||||
)
|
||||
(get_local $2)
|
||||
)
|
||||
(func $~lib/memory/compare_memory (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/memory/memcmp (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(if
|
||||
(i32.eq
|
||||
(get_local $0)
|
||||
@ -680,8 +701,13 @@
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(if (result i32)
|
||||
(get_local $2)
|
||||
(tee_local $3
|
||||
(i32.ne
|
||||
(get_local $2)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.eq
|
||||
(i32.load8_u
|
||||
(get_local $0)
|
||||
@ -690,8 +716,10 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(get_local $3)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.sub
|
||||
@ -730,7 +758,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/string/String.__eq (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/memory/memory.compare (; 15 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(call $~lib/memory/memcmp
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(func $~lib/string/String.__eq (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(if
|
||||
(i32.eq
|
||||
@ -777,7 +812,7 @@
|
||||
)
|
||||
)
|
||||
(i32.eqz
|
||||
(call $~lib/memory/compare_memory
|
||||
(call $~lib/memory/memory.compare
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 4)
|
||||
@ -793,7 +828,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#find (; 12 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<String,usize>#find (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(set_local $2
|
||||
(i32.load offset=8
|
||||
(i32.add
|
||||
@ -856,7 +891,7 @@
|
||||
)
|
||||
(i32.const 0)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#has (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<String,usize>#has (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(i32.ne
|
||||
(call $~lib/map/Map<String,usize>#find
|
||||
(get_local $0)
|
||||
@ -868,7 +903,7 @@
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#get (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<String,usize>#get (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(tee_local $0
|
||||
(if (result i32)
|
||||
(tee_local $0
|
||||
@ -887,7 +922,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#rehash (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<String,usize>#rehash (; 20 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1050,7 +1085,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<String,usize>#set (; 16 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<String,usize>#set (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1187,7 +1222,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/internal/hash/hash32 (; 17 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/internal/hash/hash32 (; 22 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(i32.mul
|
||||
(i32.xor
|
||||
(i32.mul
|
||||
@ -1232,7 +1267,7 @@
|
||||
(i32.const 16777619)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<usize,String>#find (; 18 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<usize,String>#find (; 23 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(set_local $2
|
||||
(i32.load offset=8
|
||||
(i32.add
|
||||
@ -1295,7 +1330,7 @@
|
||||
)
|
||||
(i32.const 0)
|
||||
)
|
||||
(func $~lib/map/Map<usize,String>#rehash (; 19 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<usize,String>#rehash (; 24 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1458,7 +1493,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<usize,String>#set (; 20 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<usize,String>#set (; 25 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1595,7 +1630,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/symbol/Symbol.for (; 21 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/symbol/Symbol.for (; 26 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(if
|
||||
(get_global $~lib/symbol/stringToId)
|
||||
@ -1650,7 +1685,7 @@
|
||||
)
|
||||
(get_local $1)
|
||||
)
|
||||
(func $~lib/map/Map<usize,String>#has (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<usize,String>#has (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(i32.ne
|
||||
(call $~lib/map/Map<usize,String>#find
|
||||
(get_local $0)
|
||||
@ -1662,7 +1697,7 @@
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(func $~lib/map/Map<usize,String>#get (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<usize,String>#get (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(tee_local $0
|
||||
(if (result i32)
|
||||
(tee_local $0
|
||||
@ -1681,7 +1716,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/symbol/Symbol.keyFor (; 24 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(func $~lib/symbol/Symbol.keyFor (; 29 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(if
|
||||
(tee_local $1
|
||||
@ -1708,15 +1743,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $start (; 25 ;) (type $v)
|
||||
(func $start (; 30 ;) (type $v)
|
||||
(set_global $~lib/allocator/arena/startOffset
|
||||
(i32.and
|
||||
(i32.add
|
||||
(get_global $HEAP_BASE)
|
||||
(i32.const 7)
|
||||
)
|
||||
(i32.const -8)
|
||||
)
|
||||
(i32.const 160)
|
||||
)
|
||||
(set_global $~lib/allocator/arena/offset
|
||||
(get_global $~lib/allocator/arena/startOffset)
|
||||
|
Reference in New Issue
Block a user