@@ -131,22 +131,22 @@ impl<T: RegisterArgument> RegisterArgument for Option<NonNull<T>> {
131
131
132
132
impl ReturnValue for ! {
133
133
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) ;
135
135
}
136
136
}
137
137
138
138
impl 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 ) ;
142
142
( )
143
143
}
144
144
}
145
145
146
146
impl < 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 )
150
150
}
151
151
}
152
152
@@ -174,8 +174,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
174
174
#[ inline( always) ]
175
175
pub unsafe fn $f( $n1: $t1, $n2: $t2, $n3: $t3, $n4: $t4) -> $r {
176
176
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 ) ) ,
179
178
RegisterArgument :: into_register( $n1) ,
180
179
RegisterArgument :: into_register( $n2) ,
181
180
RegisterArgument :: into_register( $n3) ,
@@ -191,8 +190,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
191
190
#[ inline( always) ]
192
191
pub unsafe fn $f( $n1: $t1, $n2: $t2, $n3: $t3) -> $r {
193
192
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 ) ) ,
196
194
RegisterArgument :: into_register( $n1) ,
197
195
RegisterArgument :: into_register( $n2) ,
198
196
RegisterArgument :: into_register( $n3) ,
@@ -208,8 +206,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
208
206
#[ inline( always) ]
209
207
pub unsafe fn $f( $n1: $t1, $n2: $t2) -> $r {
210
208
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 ) ) ,
213
210
RegisterArgument :: into_register( $n1) ,
214
211
RegisterArgument :: into_register( $n2) ,
215
212
0 , 0 ,
@@ -224,8 +221,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
224
221
#[ inline( always) ]
225
222
pub unsafe fn $f( $n1: $t1) -> $r {
226
223
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 ) ) ,
229
225
RegisterArgument :: into_register( $n1) ,
230
226
0 , 0 , 0 ,
231
227
return_type_is_abort!( $r)
@@ -239,8 +235,7 @@ macro_rules! enclave_usercalls_internal_define_usercalls {
239
235
#[ inline( always) ]
240
236
pub unsafe fn $f( ) -> $r {
241
237
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 ) ) ,
244
239
0 , 0 , 0 , 0 ,
245
240
return_type_is_abort!( $r)
246
241
) )
0 commit comments