@@ -164,8 +164,8 @@ class Perfolizer.Horology.IClock clock
164
164
var ilBuilder = actionMethodBuilder . GetILGenerator ( ) ;
165
165
166
166
// init locals
167
- var argLocals = runnableEmitter . EmitDeclareArgLocals ( ilBuilder ) ;
168
167
var valueLocal = ilBuilder . DeclareLocal ( ConsumableInfo . OverheadMethodReturnType ) ;
168
+ var argLocals = runnableEmitter . EmitDeclareArgLocals ( ilBuilder ) ;
169
169
var indexLocal = ilBuilder . DeclareLocal ( typeof ( long ) ) ;
170
170
171
171
/*
@@ -215,7 +215,7 @@ class Perfolizer.Horology.IClock clock
215
215
*/
216
216
ilBuilder . Emit ( OpCodes . Ldarg_0 ) ;
217
217
ilBuilder . Emit ( OpCodes . Ldfld , actionDelegateField ) ;
218
- ilBuilder . Emit ( OpCodes . Callvirt , actionInvokeMethod ) ;
218
+ ilBuilder . EmitInstanceCallThisValueOnStack ( null , actionInvokeMethod , argLocals ) ;
219
219
ilBuilder . EmitStloc ( valueLocal ) ;
220
220
}
221
221
ilBuilder . EmitLoopEndFromFldTo0 ( loopStartLabel , loopHeadLabel , repeatsRemainingField , indexLocal ) ;
@@ -367,8 +367,8 @@ instance void __RunTask () cil managed
367
367
// [1] int64,
368
368
// [2] class [System.Private.CoreLib]System.Exception e
369
369
//)
370
- var argLocals = runnableEmitter . EmitDeclareArgLocals ( ilBuilder ) ;
371
370
var clockspanLocal = ilBuilder . DeclareLocal ( typeof ( ClockSpan ) ) ;
371
+ var argLocals = runnableEmitter . EmitDeclareArgLocals ( ilBuilder ) ;
372
372
LocalBuilder maybeValueTaskLocal = actionInvokeMethod . ReturnType . IsValueType
373
373
? ilBuilder . DeclareLocal ( actionInvokeMethod . ReturnType )
374
374
: null ;
@@ -417,7 +417,7 @@ instance void __RunTask () cil managed
417
417
ilBuilder . Emit ( OpCodes . Ldarg_0 ) ;
418
418
ilBuilder . Emit ( OpCodes . Ldflda , currentAwaiterField ) ;
419
419
ilBuilder . Emit ( OpCodes . Call , currentAwaiterField . FieldType . GetProperty ( nameof ( TaskAwaiter . IsCompleted ) , BindingFlagsAllInstance ) . GetGetMethod ( true ) ) ;
420
- ilBuilder . Emit ( OpCodes . Brtrue_S , isCompletedLabel ) ;
420
+ ilBuilder . Emit ( OpCodes . Brtrue , isCompletedLabel ) ;
421
421
{
422
422
/*
423
423
// currentAwaiter.UnsafeOnCompleted(continuation);
@@ -433,7 +433,7 @@ instance void __RunTask () cil managed
433
433
ilBuilder . Emit ( OpCodes . Ldfld , continuationField ) ;
434
434
ilBuilder . Emit ( OpCodes . Call , currentAwaiterField . FieldType . GetMethod ( nameof ( TaskAwaiter . UnsafeOnCompleted ) , BindingFlagsAllInstance ) ) ;
435
435
// return;
436
- ilBuilder . Emit ( OpCodes . Leave_S , returnLabel ) ;
436
+ ilBuilder . Emit ( OpCodes . Leave , returnLabel ) ;
437
437
}
438
438
ilBuilder . MarkLabel ( isCompletedLabel ) ;
439
439
/*
@@ -468,7 +468,7 @@ instance void __RunTask () cil managed
468
468
ilBuilder . EmitLdloc ( exceptionLocal ) ;
469
469
ilBuilder . Emit ( OpCodes . Call , setExceptionMethod ) ;
470
470
// return;
471
- ilBuilder . Emit ( OpCodes . Leave_S , returnLabel ) ;
471
+ ilBuilder . Emit ( OpCodes . Leave , returnLabel ) ;
472
472
}
473
473
ilBuilder . EndExceptionBlock ( ) ;
474
474
@@ -570,7 +570,7 @@ instance void __Continuation () cil managed
570
570
ilBuilder . EmitLdloc ( exceptionLocal ) ;
571
571
ilBuilder . Emit ( OpCodes . Call , setExceptionMethod ) ;
572
572
// return;
573
- ilBuilder . Emit ( OpCodes . Leave_S , returnLabel ) ;
573
+ ilBuilder . Emit ( OpCodes . Leave , returnLabel ) ;
574
574
}
575
575
ilBuilder . EndExceptionBlock ( ) ;
576
576
0 commit comments