@@ -5,6 +5,7 @@ use crate::plan::mutator_context::Mutator;
5
5
use crate :: plan:: mutator_context:: MutatorConfig ;
6
6
use crate :: plan:: mutator_context:: ReservedAllocators ;
7
7
use crate :: plan:: mutator_context:: SpaceMapping ;
8
+ use crate :: plan:: mutator_context:: { common_prepare_func, common_release_func} ;
8
9
use crate :: plan:: AllocationSemantics ;
9
10
use crate :: plan:: Plan ;
10
11
use crate :: util:: alloc:: allocators:: { AllocatorSelector , Allocators } ;
@@ -20,8 +21,12 @@ mod malloc_mark_sweep {
20
21
21
22
// Do nothing for malloc mark sweep (malloc allocator)
22
23
23
- pub fn ms_mutator_prepare < VM : VMBinding > ( _mutator : & mut Mutator < VM > , _tls : VMWorkerThread ) { }
24
- pub fn ms_mutator_release < VM : VMBinding > ( _mutator : & mut Mutator < VM > , _tls : VMWorkerThread ) { }
24
+ pub fn ms_mutator_prepare < VM : VMBinding > ( mutator : & mut Mutator < VM > , tls : VMWorkerThread ) {
25
+ common_prepare_func ( mutator, tls) ;
26
+ }
27
+ pub fn ms_mutator_release < VM : VMBinding > ( mutator : & mut Mutator < VM > , tls : VMWorkerThread ) {
28
+ common_release_func ( mutator, tls) ;
29
+ }
25
30
26
31
// malloc mark sweep uses 1 malloc allocator
27
32
@@ -69,13 +74,17 @@ mod native_mark_sweep {
69
74
// We forward calls to the allocator prepare and release
70
75
71
76
#[ cfg( not( feature = "malloc_mark_sweep" ) ) ]
72
- pub fn ms_mutator_prepare < VM : VMBinding > ( mutator : & mut Mutator < VM > , _tls : VMWorkerThread ) {
77
+ pub fn ms_mutator_prepare < VM : VMBinding > ( mutator : & mut Mutator < VM > , tls : VMWorkerThread ) {
73
78
get_freelist_allocator_mut :: < VM > ( mutator) . prepare ( ) ;
79
+
80
+ common_prepare_func ( mutator, tls) ;
74
81
}
75
82
76
83
#[ cfg( not( feature = "malloc_mark_sweep" ) ) ]
77
- pub fn ms_mutator_release < VM : VMBinding > ( mutator : & mut Mutator < VM > , _tls : VMWorkerThread ) {
84
+ pub fn ms_mutator_release < VM : VMBinding > ( mutator : & mut Mutator < VM > , tls : VMWorkerThread ) {
78
85
get_freelist_allocator_mut :: < VM > ( mutator) . release ( ) ;
86
+
87
+ common_release_func ( mutator, tls) ;
79
88
}
80
89
81
90
// native mark sweep uses 1 free list allocator
0 commit comments