blob: 435e8a24be7e682ae03cb70eeeeec317805cbac7 [file] [edit]
/**
* @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);