UNPKG

@grain/binaryen.ml

Version:

OCaml bindings for Binaryen.

63 lines (54 loc) 1.85 kB
//Provides: caml_binaryen_add_global //Requires: caml_jsstring_of_string function caml_binaryen_add_global(wasm_mod, name, typ, is_mut, init) { return wasm_mod.addGlobal( caml_jsstring_of_string(name), typ, is_mut, // bool will come through as an int init ); } //Provides: caml_binaryen_get_global //Requires: caml_jsstring_of_string function caml_binaryen_get_global(wasm_mod, name) { return wasm_mod.getGlobal(caml_jsstring_of_string(name)); } //Provides: caml_binaryen_remove_global //Requires: caml_jsstring_of_string function caml_binaryen_remove_global(wasm_mod, name) { return wasm_mod.removeGlobal(caml_jsstring_of_string(name)); } //Provides: caml_binaryen_get_num_globals function caml_binaryen_get_num_globals(wasm_mod) { return wasm_mod.getNumGlobals(); } //Provides: caml_binaryen_get_global_by_index function caml_binaryen_get_global_by_index(wasm_mod, index) { return wasm_mod.getGlobalByIndex(index); } //Provides: caml_binaryen_global_get_name //Requires: Binaryen //Requires: caml_string_of_jsstring function caml_binaryen_global_get_name(global) { var global_info = Binaryen.getGlobalInfo(global); return caml_string_of_jsstring(global_info.name); } //Provides: caml_binaryen_global_get_type //Requires: Binaryen function caml_binaryen_global_get_type(global) { var global_info = Binaryen.getGlobalInfo(global); return global_info.type; } //Provides: caml_binaryen_global_is_mutable //Requires: Binaryen //Requires: caml_js_to_bool function caml_binaryen_global_is_mutable(global) { var global_info = Binaryen.getGlobalInfo(global); return caml_js_to_bool(global_info.mutable); } //Provides: caml_binaryen_global_get_init_expr //Requires: Binaryen function caml_binaryen_global_get_init_expr(global) { var global_info = Binaryen.getGlobalInfo(global); return global_info.init; }