@@ -131,22 +131,22 @@ impl<T: RegisterArgument> RegisterArgument for Option<NonNull<T>> {
131131
132132impl ReturnValue for ! {
133133 fn from_registers ( call : & ' static str , _regs : ( Register , Register ) ) -> Self {
134- panic ! ( "Usercall {}: did not expect to be re-entered" , call) ;
134+ rtabort ! ( "Usercall {}: did not expect to be re-entered" , call) ;
135135 }
136136}
137137
138138impl ReturnValue for ( ) {
139- fn from_registers ( call : & ' static str , regs : ( Register , Register ) ) -> Self {
140- assert_eq ! ( regs . 0 , 0 , "Usercall {}: expected {} return value to be 0" , call , "1st" ) ;
141- assert_eq ! ( regs . 1 , 0 , "Usercall {}: expected {} return value to be 0" , call , "2nd" ) ;
139+ fn from_registers ( call : & ' static str , usercall_retval : ( Register , Register ) ) -> Self {
140+ rtassert ! ( usercall_retval . 0 == 0 ) ;
141+ rtassert ! ( usercall_retval . 1 == 0 ) ;
142142 ( )
143143 }
144144}
145145
146146impl < T : RegisterArgument > ReturnValue for T {
147- fn from_registers ( call : & ' static str , regs : ( Register , Register ) ) -> Self {
148- assert_eq ! ( regs . 1 , 0 , "Usercall {}: expected {} return value to be 0" , call , "2nd" ) ;
149- T :: from_register ( regs . 0 )
147+ fn from_registers ( call : & ' static str , usercall_retval : ( Register , Register ) ) -> Self {
148+ rtassert ! ( usercall_retval . 1 == 0 ) ;
149+ T :: from_register ( usercall_retval . 0 )
150150 }
151151}
152152
@@ -174,8 +174,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
174174 #[ inline( always) ]
175175 pub unsafe fn $f( $n1: $t1, $n2: $t2, $n3: $t3, $n4: $t4) -> $r {
176176 ReturnValue :: from_registers( stringify!( $f) , do_usercall(
177- NonZeroU64 :: new( Usercalls :: $f as Register )
178- . expect( "Usercall number must be non-zero" ) ,
177+ rtunwrap!( Some , NonZeroU64 :: new( Usercalls :: $f as Register ) ) ,
179178 RegisterArgument :: into_register( $n1) ,
180179 RegisterArgument :: into_register( $n2) ,
181180 RegisterArgument :: into_register( $n3) ,
@@ -191,8 +190,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
191190 #[ inline( always) ]
192191 pub unsafe fn $f( $n1: $t1, $n2: $t2, $n3: $t3) -> $r {
193192 ReturnValue :: from_registers( stringify!( $f) , do_usercall(
194- NonZeroU64 :: new( Usercalls :: $f as Register )
195- . expect( "Usercall number must be non-zero" ) ,
193+ rtunwrap!( Some , NonZeroU64 :: new( Usercalls :: $f as Register ) ) ,
196194 RegisterArgument :: into_register( $n1) ,
197195 RegisterArgument :: into_register( $n2) ,
198196 RegisterArgument :: into_register( $n3) ,
@@ -208,8 +206,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
208206 #[ inline( always) ]
209207 pub unsafe fn $f( $n1: $t1, $n2: $t2) -> $r {
210208 ReturnValue :: from_registers( stringify!( $f) , do_usercall(
211- NonZeroU64 :: new( Usercalls :: $f as Register )
212- . expect( "Usercall number must be non-zero" ) ,
209+ rtunwrap!( Some , NonZeroU64 :: new( Usercalls :: $f as Register ) ) ,
213210 RegisterArgument :: into_register( $n1) ,
214211 RegisterArgument :: into_register( $n2) ,
215212 0 , 0 ,
@@ -224,8 +221,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
224221 #[ inline( always) ]
225222 pub unsafe fn $f( $n1: $t1) -> $r {
226223 ReturnValue :: from_registers( stringify!( $f) , do_usercall(
227- NonZeroU64 :: new( Usercalls :: $f as Register )
228- . expect( "Usercall number must be non-zero" ) ,
224+ rtunwrap!( Some , NonZeroU64 :: new( Usercalls :: $f as Register ) ) ,
229225 RegisterArgument :: into_register( $n1) ,
230226 0 , 0 , 0 ,
231227 return_type_is_abort!( $r)
@@ -239,8 +235,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
239235 #[ inline( always) ]
240236 pub unsafe fn $f( ) -> $r {
241237 ReturnValue :: from_registers( stringify!( $f) , do_usercall(
242- NonZeroU64 :: new( Usercalls :: $f as Register )
243- . expect( "Usercall number must be non-zero" ) ,
238+ rtunwrap!( Some , NonZeroU64 :: new( Usercalls :: $f as Register ) ) ,
244239 0 , 0 , 0 , 0 ,
245240 return_type_is_abort!( $r)
246241 ) )
0 commit comments