diff options
author | Sam Clegg <sbc@chromium.org> | 2019-10-31 09:29:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-31 09:29:09 -0700 |
commit | fb78a120277c023531020b146dd6506608aa9bcc (patch) | |
tree | 30a7066e5e63b214b562c6d4f23af309f7a32c23 /test | |
parent | 2a787cdbe4cfb84801d4f885b155555c864ac006 (diff) | |
download | binaryen-fb78a120277c023531020b146dd6506608aa9bcc.tar.gz binaryen-fb78a120277c023531020b146dd6506608aa9bcc.tar.bz2 binaryen-fb78a120277c023531020b146dd6506608aa9bcc.zip |
Use absolute memory addresses for emasm string indexes. (#2408)
Before we used 0-based indexes which meant that we needed to modify the
code calling the emasm function to replace the first argument.
Now we use the string address itself as the index/code for the emasm
constant. This allows use code to go unmodifed as the emscripten side
will accept the memory address as the index/code.
See: https://github.com/emscripten-core/emscripten/issues/9013
Diffstat (limited to 'test')
-rw-r--r-- | test/lld/em_asm.wast.mem.out | 12 | ||||
-rw-r--r-- | test/lld/em_asm.wast.out | 12 | ||||
-rw-r--r-- | test/lld/em_asm_O0.wast.out | 12 | ||||
-rw-r--r-- | test/lld/em_asm_main_thread.wast.out | 12 | ||||
-rw-r--r-- | test/lld/em_asm_shared.wast.out | 21 |
5 files changed, 40 insertions, 29 deletions
diff --git a/test/lld/em_asm.wast.mem.out b/test/lld/em_asm.wast.mem.out index 13d289f46..5fa2ddb38 100644 --- a/test/lld/em_asm.wast.mem.out +++ b/test/lld/em_asm.wast.mem.out @@ -42,7 +42,7 @@ ) (drop (call $emscripten_asm_const_iii - (i32.const 0) + (i32.const 568) (i32.add (local.get $0) (i32.const 24) @@ -69,7 +69,7 @@ ) (local.tee $1 (call $emscripten_asm_const_iii - (i32.const 1) + (i32.const 601) (i32.add (local.get $0) (i32.const 24) @@ -87,7 +87,7 @@ ) (drop (call $emscripten_asm_const_iii - (i32.const 2) + (i32.const 621) (i32.add (local.get $0) (i32.const 24) @@ -226,9 +226,9 @@ --BEGIN METADATA -- { "asmConsts": { - "2": ["{ Module.print(\"Got \" + $0); }", ["iii"], [""]], - "0": ["{ Module.print(\"Hello world\"); }", ["iii"], [""]], - "1": ["{ return $0 + $1; }", ["iii"], [""]] + "621": ["{ Module.print(\"Got \" + $0); }", ["iii"], [""]], + "568": ["{ Module.print(\"Hello world\"); }", ["iii"], [""]], + "601": ["{ return $0 + $1; }", ["iii"], [""]] }, "staticBump": 84, "tableSize": 1, diff --git a/test/lld/em_asm.wast.out b/test/lld/em_asm.wast.out index f0c38792d..3ad9351b3 100644 --- a/test/lld/em_asm.wast.out +++ b/test/lld/em_asm.wast.out @@ -43,7 +43,7 @@ ) (drop (call $emscripten_asm_const_iii - (i32.const 0) + (i32.const 568) (i32.add (local.get $0) (i32.const 24) @@ -70,7 +70,7 @@ ) (local.tee $1 (call $emscripten_asm_const_iii - (i32.const 1) + (i32.const 601) (i32.add (local.get $0) (i32.const 24) @@ -88,7 +88,7 @@ ) (drop (call $emscripten_asm_const_iii - (i32.const 2) + (i32.const 621) (i32.add (local.get $0) (i32.const 24) @@ -227,9 +227,9 @@ --BEGIN METADATA -- { "asmConsts": { - "2": ["{ Module.print(\"Got \" + $0); }", ["iii"], [""]], - "0": ["{ Module.print(\"Hello world\"); }", ["iii"], [""]], - "1": ["{ return $0 + $1; }", ["iii"], [""]] + "621": ["{ Module.print(\"Got \" + $0); }", ["iii"], [""]], + "568": ["{ Module.print(\"Hello world\"); }", ["iii"], [""]], + "601": ["{ return $0 + $1; }", ["iii"], [""]] }, "staticBump": 84, "tableSize": 1, diff --git a/test/lld/em_asm_O0.wast.out b/test/lld/em_asm_O0.wast.out index 10c293a0b..6a66ac090 100644 --- a/test/lld/em_asm_O0.wast.out +++ b/test/lld/em_asm_O0.wast.out @@ -30,7 +30,7 @@ (local $t2 i32) (drop (call $emscripten_asm_const_i - (i32.const 0) + (i32.const 568) ) ) (local.set $t1 @@ -41,9 +41,9 @@ ) (drop (call $emscripten_asm_const_ii - (i32.const 2) + (local.get $t1) (call $emscripten_asm_const_iii - (i32.const 1) + (local.get $t2) (i32.const 13) (i32.const 27) ) @@ -87,9 +87,9 @@ --BEGIN METADATA -- { "asmConsts": { - "2": ["{ Module.print(\"Got \" + $0); }", ["ii"], [""]], - "0": ["{ Module.print(\"Hello world\"); }", ["i"], [""]], - "1": ["{ return $0 + $1; }", ["iii"], [""]] + "621": ["{ Module.print(\"Got \" + $0); }", ["ii"], [""]], + "568": ["{ Module.print(\"Hello world\"); }", ["i"], [""]], + "601": ["{ return $0 + $1; }", ["iii"], [""]] }, "staticBump": 84, "tableSize": 1, diff --git a/test/lld/em_asm_main_thread.wast.out b/test/lld/em_asm_main_thread.wast.out index aac85da82..43c1902c0 100644 --- a/test/lld/em_asm_main_thread.wast.out +++ b/test/lld/em_asm_main_thread.wast.out @@ -43,7 +43,7 @@ ) (drop (call $emscripten_asm_const_sync_on_main_thread_iii - (i32.const 0) + (i32.const 568) (i32.add (local.get $0) (i32.const 24) @@ -70,7 +70,7 @@ ) (local.tee $1 (call $emscripten_asm_const_sync_on_main_thread_iii - (i32.const 1) + (i32.const 601) (i32.add (local.get $0) (i32.const 24) @@ -88,7 +88,7 @@ ) (drop (call $emscripten_asm_const_sync_on_main_thread_iii - (i32.const 2) + (i32.const 621) (i32.add (local.get $0) (i32.const 24) @@ -227,9 +227,9 @@ --BEGIN METADATA -- { "asmConsts": { - "2": ["{ Module.print(\"Got \" + $0); }", ["iii"], ["sync_on_main_thread_"]], - "0": ["{ Module.print(\"Hello world\"); }", ["iii"], ["sync_on_main_thread_"]], - "1": ["{ return $0 + $1; }", ["iii"], ["sync_on_main_thread_"]] + "621": ["{ Module.print(\"Got \" + $0); }", ["iii"], ["sync_on_main_thread_"]], + "568": ["{ Module.print(\"Hello world\"); }", ["iii"], ["sync_on_main_thread_"]], + "601": ["{ return $0 + $1; }", ["iii"], ["sync_on_main_thread_"]] }, "staticBump": 84, "tableSize": 1, diff --git a/test/lld/em_asm_shared.wast.out b/test/lld/em_asm_shared.wast.out index 5b984f7ae..351ed045a 100644 --- a/test/lld/em_asm_shared.wast.out +++ b/test/lld/em_asm_shared.wast.out @@ -48,7 +48,12 @@ ) (drop (call $emscripten_asm_const_iii - (i32.const 0) + (i32.add + (local.tee $1 + (global.get $gimport$3) + ) + (i32.const 0) + ) (i32.add (local.get $0) (i32.const 24) @@ -75,7 +80,10 @@ ) (local.tee $2 (call $emscripten_asm_const_iii - (i32.const 1) + (i32.add + (local.get $1) + (i32.const 33) + ) (i32.add (local.get $0) (i32.const 24) @@ -93,7 +101,10 @@ ) (drop (call $emscripten_asm_const_iii - (i32.const 2) + (i32.add + (local.get $1) + (i32.const 53) + ) (i32.add (local.get $0) (i32.const 24) @@ -207,9 +218,9 @@ --BEGIN METADATA -- { "asmConsts": { - "2": ["{ Module.print(\"Got \" + $0); }", ["iii"], [""]], + "53": ["{ Module.print(\"Got \" + $0); }", ["iii"], [""]], "0": ["{ Module.print(\"Hello world\"); }", ["iii"], [""]], - "1": ["{ return $0 + $1; }", ["iii"], [""]] + "33": ["{ return $0 + $1; }", ["iii"], [""]] }, "staticBump": 0, "tableSize": 0, |