blob: 84fda73f927a350ece6ddf4a2c48c11ce660a3b5 [file] [log] [blame]
/**
* @license
* Copyright 2022 The Emscripten Authors
* SPDX-License-Identifier: MIT
*/
#if !AUTODEBUG
#error "Should only be included in AUTODEBUG mode"
#endif
addToLibrary({
$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_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_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;
},
});
extraLibraryFuncs.push(
'$log_execution',
'$get_i32',
'$get_i64',
'$get_f32',
'$get_f64',
'$get_anyref',
'$get_exnref',
'$set_i32',
'$set_i64',
'$set_f32',
'$set_f64',
'$set_anyref',
'$set_exnref',
'$load_ptr',
'$load_val_i32',
'$load_val_i64',
'$load_val_f32',
'$load_val_f64',
'$store_ptr',
'$store_val_i32',
'$store_val_i64',
'$store_val_f32',
'$store_val_f64',
);