Closed kateinoigakukun closed 5 months ago
Time Change: +325ms (3%)
Total Time: 9,697ms
Test name | Duration | Change | |
---|---|---|---|
Serialization/JavaScript function call through Wasm import | 23ms | +2ms (6%) | 🔍 |
Serialization/JavaScript function call through Wasm import with int | 16ms | +2ms (9%) | 🔍 |
Serialization/JavaScript function call from Swift | 103ms | +7ms (7%) | 🔍 |
Serialization/JavaScript Number to Swift Int | 331ms | +32ms (9%) | 🔍 |
Tested with a random large-scale application and no major regression found
did not release the
JSClosure
itself and it leaked the underlying JavaScript closure too becauseJSClosure
-> JS closure thunk -> Closure registry entry ->JSClosure
reference cycle was not broken when using FinalizationRegistry. (Without FR, it was broken by manualrelease
call.)Note that weakening the reference does not violates the contract that function reference should be unique because holding a weak reference does deinit but not deallocate the object, so ObjectIdentifier is not reused until the weak reference in the registry is removed.