Skip to content

Commit 70ae58c

Browse files
committed
Fixed errors after merge upstream.
1 parent 9655665 commit 70ae58c

File tree

6 files changed

+67
-41
lines changed

6 files changed

+67
-41
lines changed

src/BenchmarkDotNet/Templates/BenchmarkType.txt

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// the type name must be in sync with WindowsDisassembler.BuildArguments
2-
public unsafe class Runnable_$ID$ : global::$WorkloadTypeName$
2+
public unsafe partial class Runnable_$ID$ : global::$WorkloadTypeName$
33
{
44
public static void Run(BenchmarkDotNet.Engines.IHost host, System.String benchmarkName)
55
{
@@ -57,16 +57,14 @@
5757

5858
public Runnable_$ID$()
5959
{
60-
#if RETURNS_AWAITABLE_$ID$
61-
continuation = __Continuation;
62-
#endif
6360
globalSetupAction = $GlobalSetupMethodName$;
6461
globalCleanupAction = $GlobalCleanupMethodName$;
6562
iterationSetupAction = $IterationSetupMethodName$;
6663
iterationCleanupAction = $IterationCleanupMethodName$;
6764
overheadDelegate = __Overhead;
6865
workloadDelegate = $WorkloadMethodDelegate$;
6966
$InitializeArgumentFields$
67+
__SetContinuation();
7068
}
7169

7270
private System.Func<System.Threading.Tasks.ValueTask> globalSetupAction;
@@ -112,14 +110,18 @@
112110
$OverheadImplementation$
113111
}
114112

113+
partial void __SetContinuation();
114+
115115
#if RETURNS_AWAITABLE_$ID$
116116

117117
private readonly BenchmarkDotNet.Helpers.AutoResetValueTaskSource<Perfolizer.Horology.ClockSpan> valueTaskSource = new BenchmarkDotNet.Helpers.AutoResetValueTaskSource<Perfolizer.Horology.ClockSpan>();
118118
private System.Int64 repeatsRemaining;
119-
private readonly System.Action continuation;
119+
private System.Action continuation;
120120
private Perfolizer.Horology.StartedClock startedClock;
121121
private $AwaiterTypeName$ currentAwaiter;
122122

123+
partial void __SetContinuation() => continuation = __Continuation;
124+
123125
// Awaits are not unrolled.
124126
#if NETCOREAPP3_0_OR_GREATER
125127
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveOptimization)]

src/BenchmarkDotNet/Toolchains/InProcess.Emit.Implementation/Emitters/ConsumableConsumeEmitter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ protected override void EmitDisassemblyDiagnoserReturnDefaultOverride(ILGenerato
7070
ilBuilder.EmitReturnDefault(ConsumableInfo.WorkloadMethodReturnType, disassemblyDiagnoserLocal);
7171
}
7272

73-
protected override void OnEmitCtorBodyOverride(ConstructorBuilder constructorBuilder, ILGenerator ilBuilder)
73+
protected override void OnEmitCtorBodyOverride(ConstructorBuilder constructorBuilder, ILGenerator ilBuilder, RunnableEmitter runnableEmitter)
7474
{
7575
var ctor = typeof(Consumer).GetConstructor(Array.Empty<Type>());
7676
if (ctor == null)

src/BenchmarkDotNet/Toolchains/InProcess.Emit.Implementation/Emitters/ConsumeEmitter.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,14 @@ protected virtual void OnEmitMembersOverride(TypeBuilder runnableBuilder)
104104
{
105105
}
106106

107-
public void OnEmitCtorBody(ConstructorBuilder constructorBuilder, ILGenerator ilBuilder)
107+
public void OnEmitCtorBody(ConstructorBuilder constructorBuilder, ILGenerator ilBuilder, RunnableEmitter runnableEmitter)
108108
{
109109
AssertNoBuilder();
110110

111-
OnEmitCtorBodyOverride(constructorBuilder, ilBuilder);
111+
OnEmitCtorBodyOverride(constructorBuilder, ilBuilder, runnableEmitter);
112112
}
113113

114-
protected virtual void OnEmitCtorBodyOverride(ConstructorBuilder constructorBuilder, ILGenerator ilBuilder)
114+
protected virtual void OnEmitCtorBodyOverride(ConstructorBuilder constructorBuilder, ILGenerator ilBuilder, RunnableEmitter runnableEmitter)
115115
{
116116
}
117117

src/BenchmarkDotNet/Toolchains/InProcess.Emit.Implementation/Emitters/RunnableEmitter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -890,7 +890,7 @@ private void EmitCtorBody()
890890

891891
ilBuilder.EmitCallBaseParameterlessCtor(ctorMethod);
892892

893-
consumeEmitter.OnEmitCtorBody(ctorMethod, ilBuilder);
893+
consumeEmitter.OnEmitCtorBody(ctorMethod, ilBuilder, this);
894894

895895
ilBuilder.EmitSetDelegateToThisField(globalSetupActionField, globalSetupMethod);
896896
ilBuilder.EmitSetDelegateToThisField(globalCleanupActionField, globalCleanupMethod);

0 commit comments

Comments
 (0)