From c5b6109c698677e67849117842b19d026d972d8b Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Fri, 21 Feb 2025 15:53:57 -0800 Subject: [PATCH] Simplify wasmfs ErrnoError. NFC This is similar to the change we already made to the old FS in #21149. --- src/lib/libfs.js | 1 - src/lib/libwasmfs.js | 23 ++++++------------- .../codesize/test_codesize_cxx_except.gzsize | 2 +- .../codesize/test_codesize_cxx_mangle.gzsize | 2 +- 4 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/lib/libfs.js b/src/lib/libfs.js index f3e2b294eb33c..8a69600003472 100644 --- a/src/lib/libfs.js +++ b/src/lib/libfs.js @@ -59,7 +59,6 @@ FS.staticInit(); #if FS_DEBUG trackingDelegate: {}, #endif - ErrnoError: null, // set during init filesystems: null, syncFSRequests: 0, // we warn if there are multiple in flight at once #if expectToReceiveOnModule('logReadFiles') diff --git a/src/lib/libwasmfs.js b/src/lib/libwasmfs.js index f2f166619b5ff..5a9076c727f8d 100644 --- a/src/lib/libwasmfs.js +++ b/src/lib/libwasmfs.js @@ -21,9 +21,6 @@ addToLibrary({ $wasmFSDevices: {}, $wasmFSDeviceStreams: {}, - $FS__postset: ` -FS.init(); -`, $FS__deps: [ '$MEMFS', '$wasmFSPreloadedFiles', @@ -74,10 +71,14 @@ FS.init(); #endif ], $FS : { - init() { - FS.ensureErrnoError(); + ErrnoError: class extends Error { + name = 'ErrnoError'; + message = 'FS error'; + constructor(code) { + super(); + this.errno = code + } }, - ErrnoError: null, handleError(returnValue) { // Assume errors correspond to negative returnValues // since some functions like _wasmfs_open() return positive @@ -88,16 +89,6 @@ FS.init(); return returnValue; }, - ensureErrnoError() { - if (FS.ErrnoError) return; - FS.ErrnoError = /** @this{Object} */ function ErrnoError(code) { - this.errno = code; - this.message = 'FS error'; - this.name = "ErrnoError"; - } - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - }, createDataFile(parent, name, fileData, canRead, canWrite, canOwn) { FS_createDataFile(parent, name, fileData, canRead, canWrite, canOwn); }, diff --git a/test/other/codesize/test_codesize_cxx_except.gzsize b/test/other/codesize/test_codesize_cxx_except.gzsize index 81b0c1771450e..f2872dc448bfd 100644 --- a/test/other/codesize/test_codesize_cxx_except.gzsize +++ b/test/other/codesize/test_codesize_cxx_except.gzsize @@ -1 +1 @@ -9269 +9271 diff --git a/test/other/codesize/test_codesize_cxx_mangle.gzsize b/test/other/codesize/test_codesize_cxx_mangle.gzsize index e7c1245506428..3d10cf82a4ba2 100644 --- a/test/other/codesize/test_codesize_cxx_mangle.gzsize +++ b/test/other/codesize/test_codesize_cxx_mangle.gzsize @@ -1 +1 @@ -9277 +9276