@@ -1531,12 +1531,23 @@ fileprivate func _bjs_IdentityCacheBenchmark_wrap_extern(_ pointer: UnsafeMutabl
15311531 return _bjs_IdentityCacheBenchmark_wrap_extern ( pointer )
15321532}
15331533
1534+ nonisolated ( unsafe) var _SimpleClassIdentity_identityExported : Set < UnsafeMutableRawPointer > = [ ]
1535+
15341536@ _expose ( wasm , " bjs_SimpleClassIdentity_init " )
15351537@ _cdecl ( " bjs_SimpleClassIdentity_init " )
15361538public func _bjs_SimpleClassIdentity_init ( _ nameBytes : Int32 , _ nameLength : Int32 , _ count : Int32 , _ flag : Int32 , _ rate : Float32 , _ precise : Float64 ) -> UnsafeMutableRawPointer {
15371539 #if arch( wasm32 )
15381540 let ret = SimpleClassIdentity ( name : String . bridgeJSLiftParameter ( nameBytes , nameLength ) , count : Int . bridgeJSLiftParameter ( count ) , flag : Bool . bridgeJSLiftParameter ( flag ) , rate : Float . bridgeJSLiftParameter ( rate ) , precise : Double . bridgeJSLiftParameter ( precise ) )
1539- return ret . bridgeJSLowerReturn ( )
1541+ return withExtendedLifetime ( ret ) {
1542+ let pointer = Unmanaged . passUnretained ( ret ) . toOpaque ( )
1543+ if _SimpleClassIdentity_identityExported . contains ( pointer ) {
1544+ _swift_js_set_identity_ref ( 1 )
1545+ return pointer
1546+ }
1547+ _SimpleClassIdentity_identityExported . insert ( pointer )
1548+ _ = Unmanaged . passRetained ( ret )
1549+ return pointer
1550+ }
15401551 #else
15411552 fatalError ( " Only available on WebAssembly " )
15421553 #endif
@@ -1651,6 +1662,7 @@ public func _bjs_SimpleClassIdentity_precise_set(_ _self: UnsafeMutableRawPointe
16511662@ _cdecl ( " bjs_SimpleClassIdentity_deinit " )
16521663public func _bjs_SimpleClassIdentity_deinit ( _ pointer : UnsafeMutableRawPointer ) -> Void {
16531664 #if arch( wasm32 )
1665+ _SimpleClassIdentity_identityExported . remove ( pointer )
16541666 Unmanaged < SimpleClassIdentity > . fromOpaque ( pointer ) . release ( )
16551667 #else
16561668 fatalError ( " Only available on WebAssembly " )
@@ -1678,12 +1690,23 @@ fileprivate func _bjs_SimpleClassIdentity_wrap_extern(_ pointer: UnsafeMutableRa
16781690 return _bjs_SimpleClassIdentity_wrap_extern ( pointer )
16791691}
16801692
1693+ nonisolated ( unsafe) var _ClassRoundtripIdentity_identityExported : Set < UnsafeMutableRawPointer > = [ ]
1694+
16811695@ _expose ( wasm , " bjs_ClassRoundtripIdentity_init " )
16821696@ _cdecl ( " bjs_ClassRoundtripIdentity_init " )
16831697public func _bjs_ClassRoundtripIdentity_init ( ) -> UnsafeMutableRawPointer {
16841698 #if arch( wasm32 )
16851699 let ret = ClassRoundtripIdentity ( )
1686- return ret . bridgeJSLowerReturn ( )
1700+ return withExtendedLifetime ( ret ) {
1701+ let pointer = Unmanaged . passUnretained ( ret ) . toOpaque ( )
1702+ if _ClassRoundtripIdentity_identityExported . contains ( pointer ) {
1703+ _swift_js_set_identity_ref ( 1 )
1704+ return pointer
1705+ }
1706+ _ClassRoundtripIdentity_identityExported . insert ( pointer )
1707+ _ = Unmanaged . passRetained ( ret )
1708+ return pointer
1709+ }
16871710 #else
16881711 fatalError ( " Only available on WebAssembly " )
16891712 #endif
@@ -1725,6 +1748,7 @@ public func _bjs_ClassRoundtripIdentity_takeSimpleClassIdentity(_ _self: UnsafeM
17251748@ _cdecl ( " bjs_ClassRoundtripIdentity_deinit " )
17261749public func _bjs_ClassRoundtripIdentity_deinit ( _ pointer : UnsafeMutableRawPointer ) -> Void {
17271750 #if arch( wasm32 )
1751+ _ClassRoundtripIdentity_identityExported . remove ( pointer )
17281752 Unmanaged < ClassRoundtripIdentity > . fromOpaque ( pointer ) . release ( )
17291753 #else
17301754 fatalError ( " Only available on WebAssembly " )
@@ -1752,12 +1776,23 @@ fileprivate func _bjs_ClassRoundtripIdentity_wrap_extern(_ pointer: UnsafeMutabl
17521776 return _bjs_ClassRoundtripIdentity_wrap_extern ( pointer )
17531777}
17541778
1779+ nonisolated ( unsafe) var _IdentityCacheBenchmarkIdentity_identityExported : Set < UnsafeMutableRawPointer > = [ ]
1780+
17551781@ _expose ( wasm , " bjs_IdentityCacheBenchmarkIdentity_init " )
17561782@ _cdecl ( " bjs_IdentityCacheBenchmarkIdentity_init " )
17571783public func _bjs_IdentityCacheBenchmarkIdentity_init ( ) -> UnsafeMutableRawPointer {
17581784 #if arch( wasm32 )
17591785 let ret = IdentityCacheBenchmarkIdentity ( )
1760- return ret . bridgeJSLowerReturn ( )
1786+ return withExtendedLifetime ( ret ) {
1787+ let pointer = Unmanaged . passUnretained ( ret ) . toOpaque ( )
1788+ if _IdentityCacheBenchmarkIdentity_identityExported . contains ( pointer ) {
1789+ _swift_js_set_identity_ref ( 1 )
1790+ return pointer
1791+ }
1792+ _IdentityCacheBenchmarkIdentity_identityExported . insert ( pointer )
1793+ _ = Unmanaged . passRetained ( ret )
1794+ return pointer
1795+ }
17611796 #else
17621797 fatalError ( " Only available on WebAssembly " )
17631798 #endif
@@ -1788,6 +1823,7 @@ public func _bjs_IdentityCacheBenchmarkIdentity_getPoolRepeated(_ _self: UnsafeM
17881823@ _cdecl ( " bjs_IdentityCacheBenchmarkIdentity_deinit " )
17891824public func _bjs_IdentityCacheBenchmarkIdentity_deinit ( _ pointer : UnsafeMutableRawPointer ) -> Void {
17901825 #if arch( wasm32 )
1826+ _IdentityCacheBenchmarkIdentity_identityExported . remove ( pointer )
17911827 Unmanaged < IdentityCacheBenchmarkIdentity > . fromOpaque ( pointer ) . release ( )
17921828 #else
17931829 fatalError ( " Only available on WebAssembly " )
0 commit comments