1
- use rustc_abi:: { ExternAbi , Size } ;
1
+ use rustc_abi:: Size ;
2
2
use rustc_middle:: ty:: layout:: LayoutOf as _;
3
3
use rustc_middle:: ty:: { self , Instance , Ty } ;
4
4
use rustc_span:: { BytePos , Loc , Symbol , hygiene} ;
5
+ use rustc_target:: callconv:: { Conv , FnAbi } ;
5
6
6
7
use crate :: helpers:: check_min_arg_count;
7
8
use crate :: * ;
@@ -10,13 +11,13 @@ impl<'tcx> EvalContextExt<'tcx> for crate::MiriInterpCx<'tcx> {}
10
11
pub trait EvalContextExt < ' tcx > : crate :: MiriInterpCxExt < ' tcx > {
11
12
fn handle_miri_backtrace_size (
12
13
& mut self ,
13
- abi : ExternAbi ,
14
+ abi : & FnAbi < ' tcx , Ty < ' tcx > > ,
14
15
link_name : Symbol ,
15
16
args : & [ OpTy < ' tcx > ] ,
16
17
dest : & MPlaceTy < ' tcx > ,
17
18
) -> InterpResult < ' tcx > {
18
19
let this = self . eval_context_mut ( ) ;
19
- let [ flags] = this. check_shim ( abi, ExternAbi :: Rust , link_name, args) ?;
20
+ let [ flags] = this. check_shim ( abi, Conv :: Rust , link_name, args) ?;
20
21
21
22
let flags = this. read_scalar ( flags) ?. to_u64 ( ) ?;
22
23
if flags != 0 {
@@ -30,7 +31,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
30
31
31
32
fn handle_miri_get_backtrace (
32
33
& mut self ,
33
- abi : ExternAbi ,
34
+ abi : & FnAbi < ' tcx , Ty < ' tcx > > ,
34
35
link_name : Symbol ,
35
36
args : & [ OpTy < ' tcx > ] ,
36
37
dest : & MPlaceTy < ' tcx > ,
@@ -71,7 +72,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
71
72
// storage for pointers is allocated by miri
72
73
// deallocating the slice is undefined behavior with a custom global allocator
73
74
0 => {
74
- let [ _flags] = this. check_shim ( abi, ExternAbi :: Rust , link_name, args) ?;
75
+ let [ _flags] = this. check_shim ( abi, Conv :: Rust , link_name, args) ?;
75
76
76
77
let alloc = this. allocate ( array_layout, MiriMemoryKind :: Rust . into ( ) ) ?;
77
78
@@ -86,7 +87,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
86
87
}
87
88
// storage for pointers is allocated by the caller
88
89
1 => {
89
- let [ _flags, buf] = this. check_shim ( abi, ExternAbi :: Rust , link_name, args) ?;
90
+ let [ _flags, buf] = this. check_shim ( abi, Conv :: Rust , link_name, args) ?;
90
91
91
92
let buf_place = this. deref_pointer ( buf) ?;
92
93
@@ -136,13 +137,13 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
136
137
137
138
fn handle_miri_resolve_frame (
138
139
& mut self ,
139
- abi : ExternAbi ,
140
+ abi : & FnAbi < ' tcx , Ty < ' tcx > > ,
140
141
link_name : Symbol ,
141
142
args : & [ OpTy < ' tcx > ] ,
142
143
dest : & MPlaceTy < ' tcx > ,
143
144
) -> InterpResult < ' tcx > {
144
145
let this = self . eval_context_mut ( ) ;
145
- let [ ptr, flags] = this. check_shim ( abi, ExternAbi :: Rust , link_name, args) ?;
146
+ let [ ptr, flags] = this. check_shim ( abi, Conv :: Rust , link_name, args) ?;
146
147
147
148
let flags = this. read_scalar ( flags) ?. to_u64 ( ) ?;
148
149
@@ -207,14 +208,14 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
207
208
208
209
fn handle_miri_resolve_frame_names (
209
210
& mut self ,
210
- abi : ExternAbi ,
211
+ abi : & FnAbi < ' tcx , Ty < ' tcx > > ,
211
212
link_name : Symbol ,
212
213
args : & [ OpTy < ' tcx > ] ,
213
214
) -> InterpResult < ' tcx > {
214
215
let this = self . eval_context_mut ( ) ;
215
216
216
217
let [ ptr, flags, name_ptr, filename_ptr] =
217
- this. check_shim ( abi, ExternAbi :: Rust , link_name, args) ?;
218
+ this. check_shim ( abi, Conv :: Rust , link_name, args) ?;
218
219
219
220
let flags = this. read_scalar ( flags) ?. to_u64 ( ) ?;
220
221
if flags != 0 {
0 commit comments