mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-06-18 07:21:24 +00:00
Start optimizing code size:
* Use a bundled custom `WasmRefCell` instead of the one in the standard library. This one primarily doesn't panic via libstd which means that its code footprint is much smaller. * Add a `throw` function to `wasm_bindgen`-the-crate which can be used to throw an exception in JS from Rust. This is useful as a cheap way to throw an exception code-wise (little code bloat) and it's also a great way of reporting error messages to JS! * Cut down on the code size of `__wbindgen_malloc` by aborting on huge requests earlier. * Use a custom `assert_not_null` function which delegates to `throw` to test for incoming null pointers
This commit is contained in:
@ -389,6 +389,13 @@ impl Js {
|
||||
imports.push_str("__wasm_bindgen_object_drop_ref: dropRef,\n");
|
||||
}
|
||||
|
||||
if self.wasm_import_needed("__wbindgen_throw", m) {
|
||||
self.expose_get_string_from_wasm();
|
||||
imports.push_str("__wbindgen_throw: function(ptr: number, len: number) {
|
||||
throw new Error(getStringFromWasm(ptr, len));
|
||||
},\n");
|
||||
}
|
||||
|
||||
let mut writes = String::new();
|
||||
if self.exposed_globals.contains(&"memory") {
|
||||
writes.push_str("memory = exports.memory;\n");
|
||||
|
Reference in New Issue
Block a user