@@ -465,7 +465,7 @@ pub struct ArgAbi<'a, Ty> {
465
465
pub layout : TyAndLayout < ' a , Ty > ,
466
466
467
467
/// Dummy argument, which is emitted before the real argument.
468
- pub pad : Option < Reg > ,
468
+ pub pad_i32 : bool ,
469
469
470
470
pub mode : PassMode ,
471
471
}
@@ -486,7 +486,7 @@ impl<'a, Ty> ArgAbi<'a, Ty> {
486
486
Abi :: Vector { .. } => PassMode :: Direct ( ArgAttributes :: new ( ) ) ,
487
487
Abi :: Aggregate { .. } => PassMode :: Direct ( ArgAttributes :: new ( ) ) ,
488
488
} ;
489
- ArgAbi { layout, pad : None , mode }
489
+ ArgAbi { layout, pad_i32 : false , mode }
490
490
}
491
491
492
492
fn indirect_pass_mode ( layout : & TyAndLayout < ' a , Ty > ) -> PassMode {
@@ -551,8 +551,8 @@ impl<'a, Ty> ArgAbi<'a, Ty> {
551
551
self . mode = PassMode :: Cast ( Box :: new ( target. into ( ) ) ) ;
552
552
}
553
553
554
- pub fn pad_with ( & mut self , reg : Reg ) {
555
- self . pad = Some ( reg ) ;
554
+ pub fn pad_with_i32 ( & mut self ) {
555
+ self . pad_i32 = true ;
556
556
}
557
557
558
558
pub fn is_indirect ( & self ) -> bool {
@@ -737,6 +737,6 @@ mod size_asserts {
737
737
use super :: * ;
738
738
use rustc_data_structures:: static_assert_size;
739
739
// These are in alphabetical order, which is easy to maintain.
740
- static_assert_size ! ( ArgAbi <' _, usize >, 72 ) ;
741
- static_assert_size ! ( FnAbi <' _, usize >, 96 ) ;
740
+ static_assert_size ! ( ArgAbi <' _, usize >, 64 ) ;
741
+ static_assert_size ! ( FnAbi <' _, usize >, 88 ) ;
742
742
}
0 commit comments