| /** |
| * @license |
| * Copyright 2022 The Emscripten Authors |
| * SPDX-License-Identifier: MIT |
| */ |
| |
| |
| #if !AUTODEBUG |
| #error "Should only be included in AUTODEBUG mode" |
| #endif |
| |
| const LibraryAutodebug = { |
| $log_execution: (loc) => dbg('log_execution ' + loc), |
| $get_i32: (loc, index, value) => { |
| dbg('get_i32 ' + [loc, index, value]); |
| return value; |
| }, |
| $get_i64__deps: ['setTempRet0'], |
| $get_i64: (loc, index, low, high) => { |
| dbg('get_i64 ' + [loc, index, low, high]); |
| _setTempRet0(high); |
| return low; |
| }, |
| $get_f32: (loc, index, value) => { |
| dbg('get_f32 ' + [loc, index, value]); |
| return value; |
| }, |
| $get_f64: (loc, index, value) => { |
| dbg('get_f64 ' + [loc, index, value]); |
| return value; |
| }, |
| $get_funcref: (loc, index, value) => { |
| dbg('get_funcref ' + [loc, index, value]); |
| return value; |
| }, |
| $get_externref: (loc, index, value) => { |
| dbg('get_externref ' + [loc, index, value]); |
| return value; |
| }, |
| $get_anyref: (loc, index, value) => { |
| dbg('get_anyref ' + [loc, index, value]); |
| return value; |
| }, |
| $get_exnref: (loc, index, value) => { |
| dbg('get_exnref ' + [loc, index, value]); |
| return value; |
| }, |
| $set_i32: (loc, index, value) => { |
| dbg('set_i32 ' + [loc, index, value]); |
| return value; |
| }, |
| $set_i64__deps: ['setTempRet0'], |
| $set_i64: (loc, index, low, high) => { |
| dbg('set_i64 ' + [loc, index, low, high]); |
| _setTempRet0(high); |
| return low; |
| }, |
| $set_f32: (loc, index, value) => { |
| dbg('set_f32 ' + [loc, index, value]); |
| return value; |
| }, |
| $set_f64: (loc, index, value) => { |
| dbg('set_f64 ' + [loc, index, value]); |
| return value; |
| }, |
| $set_funcref: (loc, index, value) => { |
| dbg('set_funcref ' + [loc, index, value]); |
| return value; |
| }, |
| $set_externref: (loc, index, value) => { |
| dbg('set_externref ' + [loc, index, value]); |
| return value; |
| }, |
| $set_anyref: (loc, index, value) => { |
| dbg('set_anyref ' + [loc, index, value]); |
| return value; |
| }, |
| $set_exnref: (loc, index, value) => { |
| dbg('set_exnref ' + [loc, index, value]); |
| return value; |
| }, |
| $load_ptr: (loc, bytes, offset, ptr) => { |
| dbg('load_ptr ' + [loc, bytes, offset, ptr]); |
| return ptr; |
| }, |
| $load_val_i32: (loc, value) => { |
| dbg('load_val_i32 ' + [loc, value]); |
| return value; |
| }, |
| $load_val_i64__deps: ['setTempRet0'], |
| $load_val_i64: (loc, low, high) => { |
| dbg('load_val_i64 ' + [loc, low, high]); |
| _setTempRet0(high); |
| return low; |
| }, |
| $load_val_f32: (loc, value) => { |
| dbg('load_val_f32 ' + [loc, value]); |
| return value; |
| }, |
| $load_val_f64: (loc, value) => { |
| dbg('load_val_f64 ' + [loc, value]); |
| return value; |
| }, |
| $store_ptr: (loc, bytes, offset, ptr) => { |
| dbg('store_ptr ' + [loc, bytes, offset, ptr]); |
| return ptr; |
| }, |
| $store_val_i32: (loc, value) => { |
| dbg('store_val_i32 ' + [loc, value]); |
| return value; |
| }, |
| $store_val_i64__deps: ['setTempRet0'], |
| $store_val_i64: (loc, low, high) => { |
| dbg('store_val_i64 ' + [loc, low, high]); |
| _setTempRet0(high); |
| return low; |
| }, |
| $store_val_f32: (loc, value) => { |
| dbg('store_val_f32 ' + [loc, value]); |
| return value; |
| }, |
| $store_val_f64: (loc, value) => { |
| dbg('store_val_f64 ' + [loc, value]); |
| return value; |
| }, |
| $memory_grow_pre: (loc, delta) => { |
| dbg('memory_grow_pre ' + [loc, delta]); |
| return delta; |
| }, |
| $memory_grow_post: (loc, result) => { |
| dbg('memory_grow_post ' + [loc, result]); |
| return result; |
| }, |
| }; |
| |
| for (const symbol of Object.keys(LibraryAutodebug)) { |
| if (!isDecorator(symbol)) { |
| LibraryAutodebug[symbol + '__force'] = true; |
| } |
| } |
| |
| addToLibrary(LibraryAutodebug); |