@@ -198,17 +198,32 @@ impl WasmtimePy {
198198 }
199199 Trampoline :: Transcoder { .. } => unimplemented ! ( ) ,
200200 Trampoline :: AlwaysTrap => unimplemented ! ( ) ,
201- Trampoline :: ResourceNew ( idx) => {
202- self . resource_trampolines
203- . push ( ( trampoline_index, Trampoline :: ResourceNew ( * idx) ) ) ;
201+ Trampoline :: ResourceNew { ty, instance } => {
202+ self . resource_trampolines . push ( (
203+ trampoline_index,
204+ Trampoline :: ResourceNew {
205+ ty : * ty,
206+ instance : * instance,
207+ } ,
208+ ) ) ;
204209 }
205- Trampoline :: ResourceRep ( idx) => {
206- self . resource_trampolines
207- . push ( ( trampoline_index, Trampoline :: ResourceRep ( * idx) ) ) ;
210+ Trampoline :: ResourceRep { ty, instance } => {
211+ self . resource_trampolines . push ( (
212+ trampoline_index,
213+ Trampoline :: ResourceRep {
214+ ty : * ty,
215+ instance : * instance,
216+ } ,
217+ ) ) ;
208218 }
209- Trampoline :: ResourceDrop ( idx) => {
210- self . resource_trampolines
211- . push ( ( trampoline_index, Trampoline :: ResourceDrop ( * idx) ) ) ;
219+ Trampoline :: ResourceDrop { ty, instance } => {
220+ self . resource_trampolines . push ( (
221+ trampoline_index,
222+ Trampoline :: ResourceDrop {
223+ ty : * ty,
224+ instance : * instance,
225+ } ,
226+ ) ) ;
212227 }
213228 Trampoline :: ResourceEnterCall => unimplemented ! ( ) ,
214229 Trampoline :: ResourceExitCall => unimplemented ! ( ) ,
@@ -248,8 +263,8 @@ impl WasmtimePy {
248263 Trampoline :: PrepareCall { .. } => unimplemented ! ( ) ,
249264 Trampoline :: SyncStartCall { .. } => unimplemented ! ( ) ,
250265 Trampoline :: AsyncStartCall { .. } => unimplemented ! ( ) ,
251- Trampoline :: ContextGet ( _ ) => unimplemented ! ( ) ,
252- Trampoline :: ContextSet ( _ ) => unimplemented ! ( ) ,
266+ Trampoline :: ContextGet { .. } => unimplemented ! ( ) ,
267+ Trampoline :: ContextSet { .. } => unimplemented ! ( ) ,
253268 Trampoline :: BackpressureInc { .. } => unimplemented ! ( ) ,
254269 Trampoline :: BackpressureDec { .. } => unimplemented ! ( ) ,
255270 }
@@ -615,7 +630,7 @@ impl<'a> Instantiator<'a> {
615630 for ( tid, trampoline) in self . gen . resource_trampolines . iter ( ) {
616631 let tidx = tid. as_u32 ( ) ;
617632 match trampoline {
618- Trampoline :: ResourceNew ( rid) => {
633+ Trampoline :: ResourceNew { ty : rid, .. } => {
619634 let resource_id = rid. as_u32 ( ) ;
620635 let handle_add = & format ! ( "_handle_add_{resource_id}" ) ;
621636 uwriteln ! ( self . gen . init, "def _resource_new_{resource_id}(rep):" ) ;
@@ -631,7 +646,7 @@ impl<'a> Instantiator<'a> {
631646 "trampoline{tidx} = wasmtime.Func(store, _resource_new_{resource_id}_ty, _resource_new_{resource_id})"
632647 )
633648 }
634- Trampoline :: ResourceDrop ( rid) => {
649+ Trampoline :: ResourceDrop { ty : rid, .. } => {
635650 let resource_id = rid. as_u32 ( ) ;
636651 uwriteln ! ( self . gen . init, "def _resource_drop_{resource_id}(rep):" ) ;
637652 self . gen . init . indent ( ) ;
@@ -646,7 +661,7 @@ impl<'a> Instantiator<'a> {
646661 "trampoline{tidx} = wasmtime.Func(store, _resource_drop_{resource_id}_ty, _resource_drop_{resource_id})"
647662 ) ;
648663 }
649- Trampoline :: ResourceRep ( rid) => {
664+ Trampoline :: ResourceRep { ty : rid, .. } => {
650665 let resource_id = rid. as_u32 ( ) ;
651666 uwriteln ! ( self . gen . init, "def _resource_rep_{resource_id}(handle):" ) ;
652667 self . gen . init . indent ( ) ;
@@ -672,9 +687,9 @@ impl<'a> Instantiator<'a> {
672687 . resource_trampolines
673688 . iter ( )
674689 . map ( |( _, trampoline) | match trampoline {
675- Trampoline :: ResourceNew ( idx )
676- | Trampoline :: ResourceRep ( idx )
677- | Trampoline :: ResourceDrop ( idx ) => * idx ,
690+ Trampoline :: ResourceNew { ty , .. }
691+ | Trampoline :: ResourceRep { ty , .. }
692+ | Trampoline :: ResourceDrop { ty , .. } => * ty ,
678693 _ => unreachable ! ( ) ,
679694 } )
680695 . collect :: < Vec < _ > > ( ) ;
0 commit comments