diff options
author | Alon Zakai <azakai@google.com> | 2021-07-15 10:26:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-15 10:26:59 -0700 |
commit | 27831cba47722c10a8a6f412d56665a4e7074540 (patch) | |
tree | f93c1909477ad3ee1dd2dd612732d722b7ff77a3 /scripts | |
parent | a3d6930e59114196f29cb3318e96843dbd0b413c (diff) | |
download | binaryen-27831cba47722c10a8a6f412d56665a4e7074540.tar.gz binaryen-27831cba47722c10a8a6f412d56665a4e7074540.tar.bz2 binaryen-27831cba47722c10a8a6f412d56665a4e7074540.zip |
[Wasm GC] Add Wasm GC support to InstrumentMemory (#3976)
This adds calls to imports around every struct load and store, to
note their values, and also to arrays (where it also notes the
index).
This has been very useful in debugging LowerGC (lowering of Wasm
GC to wasm MVP).
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/wasm2js.js | 78 |
1 files changed, 76 insertions, 2 deletions
diff --git a/scripts/wasm2js.js b/scripts/wasm2js.js index 869734c6f..a72ccfbfb 100644 --- a/scripts/wasm2js.js +++ b/scripts/wasm2js.js @@ -163,7 +163,7 @@ var asmLibraryArg = { return low; }, load_val_f32: function(loc, value) { - console.log('loaload_val_i32d_ptr ' + [loc, value]); + console.log('load_val_f32 ' + [loc, value]); return value; }, load_val_f64: function(loc, value) { @@ -184,13 +184,87 @@ var asmLibraryArg = { return low; }, store_val_f32: function(loc, value) { - console.log('loastore_val_i32d_ptr ' + [loc, value]); + console.log('store_val_f32 ' + [loc, value]); return value; }, store_val_f64: function(loc, value) { console.log('store_val_f64 ' + [loc, value]); return value; }, + + struct_get_val_i32: function(loc, value) { + console.log('struct_get_val_i32 ' + [loc, value]); + return value; + }, + struct_get_val_i64: function(loc, value) { + console.log('struct_get_val_i64 ' + [loc, value]); + return value; + }, + struct_get_val_f32: function(loc, value) { + console.log('struct_get_val_f32 ' + [loc, value]); + return value; + }, + struct_get_val_f64: function(loc, value) { + console.log('struct_get_val_f64 ' + [loc, value]); + return value; + }, + struct_set_val_i32: function(loc, value) { + console.log('struct_set_val_i32 ' + [loc, value]); + return value; + }, + struct_set_val_i64: function(loc, value) { + console.log('struct_set_val_i64 ' + [loc, value]); + return value; + }, + struct_set_val_f32: function(loc, value) { + console.log('struct_set_val_f32 ' + [loc, value]); + return value; + }, + struct_set_val_f64: function(loc, value) { + console.log('struct_set_val_f64 ' + [loc, value]); + return value; + }, + + array_get_val_i32: function(loc, value) { + console.log('array_get_val_i32 ' + [loc, value]); + return value; + }, + array_get_val_i64: function(loc, value) { + console.log('array_get_val_i64 ' + [loc, value]); + return value; + }, + array_get_val_f32: function(loc, value) { + console.log('array_get_val_f32 ' + [loc, value]); + return value; + }, + array_get_val_f64: function(loc, value) { + console.log('array_get_val_f64 ' + [loc, value]); + return value; + }, + array_set_val_i32: function(loc, value) { + console.log('array_set_val_i32 ' + [loc, value]); + return value; + }, + array_set_val_i64: function(loc, value) { + console.log('array_set_val_i64 ' + [loc, value]); + return value; + }, + array_set_val_f32: function(loc, value) { + console.log('array_set_val_f32 ' + [loc, value]); + return value; + }, + array_set_val_f64: function(loc, value) { + console.log('array_set_val_f64 ' + [loc, value]); + return value; + }, + array_get_index: function(loc, value) { + console.log('array_get_index ' + [loc, value]); + return value; + }, + array_set_index: function(loc, value) { + console.log('array_set_index ' + [loc, value]); + return value; + }, }; var wasmMemory = new WebAssembly.Memory({ initial: 1 }); |