1
- use crate :: compile:: HashedEngineCompileEnv ;
2
1
#[ cfg( feature = "component-model" ) ]
3
2
use crate :: component:: Component ;
4
3
use crate :: prelude:: * ;
5
4
use crate :: runtime:: vm:: MmapVec ;
6
5
use crate :: { CodeBuilder , CodeMemory , Engine , Module } ;
7
6
use object:: write:: WritableBuffer ;
8
7
use std:: sync:: Arc ;
9
- use wasmtime_environ:: { FinishedObject , ObjectBuilder , ObjectKind } ;
8
+ use wasmtime_environ:: { FinishedObject , ObjectBuilder } ;
10
9
11
10
impl < ' a > CodeBuilder < ' a > {
12
11
fn compile_cached < T , S > (
@@ -29,7 +28,7 @@ impl<'a> CodeBuilder<'a> {
29
28
#[ cfg( feature = "cache" ) ]
30
29
{
31
30
let state = (
32
- HashedEngineCompileEnv ( self . engine ) ,
31
+ crate :: compile :: HashedEngineCompileEnv ( self . engine ) ,
33
32
& wasm,
34
33
& dwarf_package,
35
34
// Don't hash this as it's just its own "pure" function pointer.
@@ -61,15 +60,21 @@ impl<'a> CodeBuilder<'a> {
61
60
// Cache hit, deserialize the provided artifacts
62
61
|( engine, wasm, _, _, _) , serialized_bytes| {
63
62
let kind = if wasmparser:: Parser :: is_component ( & wasm) {
64
- ObjectKind :: Component
63
+ wasmtime_environ :: ObjectKind :: Component
65
64
} else {
66
- ObjectKind :: Module
65
+ wasmtime_environ :: ObjectKind :: Module
67
66
} ;
68
67
let code = engine. 0 . load_code_bytes ( & serialized_bytes, kind) . ok ( ) ?;
69
68
Some ( ( code, None ) )
70
69
} ,
71
70
) ?;
72
71
return Ok ( ( code, info_and_types) ) ;
72
+
73
+ struct NotHashed < T > ( T ) ;
74
+
75
+ impl < T > std:: hash:: Hash for NotHashed < T > {
76
+ fn hash < H : std:: hash:: Hasher > ( & self , _hasher : & mut H ) { }
77
+ }
73
78
}
74
79
75
80
#[ cfg( not( feature = "cache" ) ) ]
@@ -79,12 +84,6 @@ impl<'a> CodeBuilder<'a> {
79
84
let code = publish_mmap ( self . engine , mmap. 0 ) ?;
80
85
return Ok ( ( code, info_and_types) ) ;
81
86
}
82
-
83
- struct NotHashed < T > ( T ) ;
84
-
85
- impl < T > std:: hash:: Hash for NotHashed < T > {
86
- fn hash < H : std:: hash:: Hasher > ( & self , _hasher : & mut H ) { }
87
- }
88
87
}
89
88
90
89
/// Same as [`CodeBuilder::compile_module_serialized`] except that a
0 commit comments