From 77e06f276533bbc056231739c8c2a0d328ee2eaf Mon Sep 17 00:00:00 2001
From: Paul Westcott
Date: Tue, 2 May 2017 16:41:26 +1000
Subject: [PATCH 1/4] Remove unbox.any when coercing to subsumed interfaces
---
src/fsharp/IlxGen.fs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs
index 8216211e124..25d1a046251 100644
--- a/src/fsharp/IlxGen.fs
+++ b/src/fsharp/IlxGen.fs
@@ -2198,12 +2198,12 @@ and GenCoerce cenv cgbuf eenv (e,tgty,m,srcty) sequel =
// Do an extra check - should not be needed
TypeRelations.TypeFeasiblySubsumesType 0 cenv.g cenv.amap m tgty TypeRelations.NoCoerce srcty then
begin
- // The .NET IL doesn't always support implict subsumption for interface types, e.g. at stack merge points
- // Hence be conservative here and always cast explicitly.
if (isInterfaceTy cenv.g tgty) then (
GenExpr cenv cgbuf eenv SPSuppress e Continue
let ilToTy = GenType cenv.amap m eenv.tyenv tgty
- CG.EmitInstrs cgbuf (pop 1) (Push [ilToTy]) [ I_unbox_any ilToTy ]
+ // I believe section "III.1.8.1.3 Merging stack states" of ECMA-335 implies that no unboxing
+ // is required, but we still push the coerce'd type on to the code gen buffer.
+ CG.EmitInstrs cgbuf (pop 1) (Push [ilToTy]) [ (*I_unbox_any ilToTy*) ]
GenSequel cenv eenv.cloc cgbuf sequel
) else (
GenExpr cenv cgbuf eenv SPSuppress e sequel
From 50b378e14625284d4f2ad971c4790b57725b3313 Mon Sep 17 00:00:00 2001
From: Paul Westcott
Date: Tue, 2 May 2017 19:09:13 +1000
Subject: [PATCH 2/4] Updated bsl files due to unbox.any change
---
...AsyncExpressionSteppingTest5.il.netfx4.bsl | 76 +-
.../ComputationExpr07.il.bsl | 57 +-
.../ListExpressionSteppingTest6.il.netfx4.bsl | 340 +-
.../Linq101Aggregates01.il.netfx4.bsl | 2754 ++++++++---------
.../Linq101ElementOperators01.il.netfx4.bsl | 826 +++--
.../Linq101Grouping01.il.netfx4.bsl | 422 ++-
.../Linq101Joins01.il.netfx4.bsl | 292 +-
.../Linq101Ordering01.il.netfx4.bsl | 1042 ++++---
.../Linq101Partitioning01.il.netfx4.bsl | 1064 ++++---
.../Linq101Quantifiers01.il.netfx4.bsl | 622 ++--
.../Linq101Select01.il.netfx4.bsl | 1197 ++++---
.../Linq101SetOperators01.il.netfx4.bsl | 492 ++-
.../Linq101Where01.il.netfx4.bsl | 537 ++--
.../SeqExpressionSteppingTest6.il.netfx4.bsl | 340 +-
14 files changed, 4985 insertions(+), 5076 deletions(-)
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.netfx4.bsl
index 32976c70fb4..ef2a9337a06 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.netfx4.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.il.netfx4.bsl
@@ -1,5 +1,5 @@
-// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.81.0
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@@ -22,27 +22,27 @@
int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 )
// --- The following custom attribute is added automatically, do not uncomment -------
- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 00 01 00 00 00 00 )
+ // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 01 01 00 00 00 00 )
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.mresource public FSharpSignatureData.AsyncExpressionSteppingTest5
{
- // Offset: 0x00000000 Length: 0x000002B0
+ // Offset: 0x00000000 Length: 0x000002B4
}
.mresource public FSharpOptimizationData.AsyncExpressionSteppingTest5
{
// Offset: 0x000002B8 Length: 0x000000BE
}
.module AsyncExpressionSteppingTest5.dll
-// MVID: {5775B149-6394-30E8-A745-038349B17557}
+// MVID: {590846DB-6394-30E8-A745-0383DB460859}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x00D30000
+// Image base: 0x012D0000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -81,16 +81,16 @@
.maxstack 5
.locals init ([0] int32 x)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 6,6 : 17,31 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest5.fs'
+ .line 6,6 : 17,31 'C:\\src\\manofstick\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest5.fs'
IL_0000: nop
IL_0001: ldarg.1
IL_0002: stloc.0
- .line 7,7 : 20,35
+ .line 7,7 : 20,35 ''
IL_0003: ldstr "hello"
IL_0008: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
IL_000d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
IL_0012: pop
- .line 8,8 : 20,37
+ .line 8,8 : 20,37 ''
IL_0013: ldstr "hello 2"
IL_0018: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
IL_001d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
@@ -129,16 +129,16 @@
// Code size 49 (0x31)
.maxstack 5
.locals init ([0] int32 x)
- .line 9,9 : 17,31
+ .line 9,9 : 17,31 ''
IL_0000: nop
IL_0001: ldarg.1
IL_0002: stloc.0
- .line 10,10 : 20,37
+ .line 10,10 : 20,37 ''
IL_0003: ldstr "goodbye"
IL_0008: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
IL_000d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
IL_0012: pop
- .line 11,11 : 20,39
+ .line 11,11 : 20,39 ''
IL_0013: ldstr "goodbye 2"
IL_0018: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
IL_001d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
@@ -174,21 +174,20 @@
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed
{
- // Code size 36 (0x24)
+ // Code size 31 (0x1f)
.maxstack 8
- .line 9,9 : 17,31
+ .line 9,9 : 17,31 ''
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-2'::builder@
IL_0007: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5::get_es()
- IL_000c: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0011: ldarg.0
- IL_0012: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-2'::builder@
- IL_0017: newobj instance void AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
- IL_001c: tail.
- IL_001e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ IL_000c: ldarg.0
+ IL_000d: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-2'::builder@
+ IL_0012: newobj instance void AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
+ IL_0017: tail.
+ IL_0019: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [mscorlib]System.Collections.Generic.IEnumerable`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
- IL_0023: ret
+ IL_001e: ret
} // end of method 'f7@9-2'::Invoke
} // end of class 'f7@9-2'
@@ -215,31 +214,30 @@
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed
{
- // Code size 69 (0x45)
+ // Code size 64 (0x40)
.maxstack 8
- .line 6,6 : 17,31
+ .line 6,6 : 17,31 ''
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
IL_0007: ldarg.0
IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5::get_es()
- IL_0012: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0017: ldarg.0
- IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
- IL_001d: newobj instance void AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@6-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
- IL_0022: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ IL_0012: ldarg.0
+ IL_0013: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
+ IL_0018: newobj instance void AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@6-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
+ IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [mscorlib]System.Collections.Generic.IEnumerable`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
- IL_0027: ldarg.0
- IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
- IL_002d: ldarg.0
- IL_002e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
- IL_0033: newobj instance void AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
- IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
- IL_003d: tail.
- IL_003f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Combine(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
+ IL_0022: ldarg.0
+ IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
+ IL_0028: ldarg.0
+ IL_0029: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/f7@6::builder@
+ IL_002e: newobj instance void AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5/'f7@9-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
+ IL_0033: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
+ IL_0038: tail.
+ IL_003a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Combine(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)
- IL_0044: ret
+ IL_003f: ret
} // end of method f7@6::Invoke
} // end of class f7@6
@@ -259,7 +257,7 @@
// Code size 22 (0x16)
.maxstack 4
.locals init ([0] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@)
- .line 6,6 : 9,14
+ .line 6,6 : 9,14 ''
IL_0000: nop
IL_0001: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder()
IL_0006: stloc.0
@@ -298,7 +296,7 @@
.locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es,
[1] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1,
[2] class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2)
- .line 4,4 : 5,21
+ .line 4,4 : 5,21 ''
IL_0000: nop
IL_0001: ldc.i4.3
IL_0002: ldc.i4.4
@@ -313,7 +311,7 @@
IL_0018: dup
IL_0019: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$AsyncExpressionSteppingTest5::es@4
IL_001e: stloc.0
- .line 13,13 : 13,43
+ .line 13,13 : 13,43 ''
IL_001f: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest5/AsyncExpressionSteppingTest5::f7()
IL_0024: stloc.1
IL_0025: ldloc.1
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl
index c8045998df0..f75f34aab83 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExpr07.il.bsl
@@ -1,5 +1,5 @@
-// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.81.0
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@@ -26,27 +26,27 @@
int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 )
// --- The following custom attribute is added automatically, do not uncomment -------
- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 00 01 00 00 00 00 )
+ // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 01 01 00 00 00 00 )
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.mresource public FSharpSignatureData.ComputationExpr07
{
- // Offset: 0x00000000 Length: 0x00000212
+ // Offset: 0x00000000 Length: 0x00000216
}
.mresource public FSharpOptimizationData.ComputationExpr07
{
- // Offset: 0x00000218 Length: 0x0000007D
+ // Offset: 0x00000220 Length: 0x0000007D
}
.module ComputationExpr07.exe
-// MVID: {5775B6D2-35BD-E566-A745-0383D2B67557}
+// MVID: {590846DC-35BD-E566-A745-0383DC460859}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x00B60000
+// Image base: 0x01600000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -86,11 +86,11 @@
.maxstack 7
.locals init ([0] int32 v)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 9,9 : 9,29 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr07.fs'
+ .line 9,9 : 9,29 'C:\\src\\manofstick\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ComputationExpressions\\ComputationExpr07.fs'
IL_0000: nop
IL_0001: ldarg.1
IL_0002: stloc.0
- .line 10,10 : 13,24
+ .line 10,10 : 13,24 ''
IL_0003: ldarg.0
IL_0004: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 ComputationExpr07/'res7@9-1'::x
IL_0009: ldarg.0
@@ -139,7 +139,7 @@
{
// Code size 26 (0x1a)
.maxstack 8
- .line 11,11 : 9,18
+ .line 11,11 : 9,18 ''
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/'res7@11-2'::builder@
@@ -175,15 +175,15 @@
.method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1
Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed
{
- // Code size 91 (0x5b)
+ // Code size 86 (0x56)
.maxstack 9
.locals init ([0] class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x)
- .line 8,8 : 9,22
+ .line 8,8 : 9,22 ''
IL_0000: nop
IL_0001: ldc.i4.1
IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0)
IL_0007: stloc.0
- .line 9,9 : 9,29
+ .line 9,9 : 9,29 ''
IL_0008: ldarg.0
IL_0009: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
IL_000e: ldarg.0
@@ -196,26 +196,25 @@
int32)
IL_001c: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [mscorlib]System.Collections.Generic.IEnumerable`1)
IL_0021: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1)
- IL_0026: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_002b: ldarg.0
- IL_002c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
- IL_0031: ldloc.0
- IL_0032: newobj instance void ComputationExpr07/'res7@9-1'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder,
+ IL_0026: ldarg.0
+ IL_0027: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
+ IL_002c: ldloc.0
+ IL_002d: newobj instance void ComputationExpr07/'res7@9-1'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1)
- IL_0037: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::For(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ IL_0032: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::For(class [mscorlib]System.Collections.Generic.IEnumerable`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
- IL_003c: ldarg.0
- IL_003d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
- IL_0042: ldarg.0
- IL_0043: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
- IL_0048: ldloc.0
- IL_0049: newobj instance void ComputationExpr07/'res7@11-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder,
+ IL_0037: ldarg.0
+ IL_0038: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
+ IL_003d: ldarg.0
+ IL_003e: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder ComputationExpr07/res7@8::builder@
+ IL_0043: ldloc.0
+ IL_0044: newobj instance void ComputationExpr07/'res7@11-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1)
- IL_004e: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
- IL_0053: tail.
- IL_0055: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Combine(class [ComputationExprLibrary]Library.Eventually`1,
+ IL_0049: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
+ IL_004e: tail.
+ IL_0050: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Combine(class [ComputationExprLibrary]Library.Eventually`1,
class [ComputationExprLibrary]Library.Eventually`1)
- IL_005a: ret
+ IL_0055: ret
} // end of method res7@8::Invoke
} // end of class res7@8
@@ -253,7 +252,7 @@
.maxstack 4
.locals init ([0] class [ComputationExprLibrary]Library.Eventually`1 res7,
[1] class [ComputationExprLibrary]Library.EventuallyBuilder builder@)
- .line 13,13 : 1,25
+ .line 13,13 : 1,25 ''
IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually()
IL_0005: stloc.1
IL_0006: ldloc.1
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.netfx4.bsl
index 4279293f4fb..db2e6acc5a4 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.netfx4.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/ListExpressionStepping/ListExpressionSteppingTest6.il.netfx4.bsl
@@ -1,5 +1,5 @@
-// Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.16774
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@@ -13,7 +13,7 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
- .ver 4:0:0:0
+ .ver 4:4:1:0
}
.assembly ListExpressionSteppingTest6
{
@@ -29,20 +29,20 @@
}
.mresource public FSharpSignatureData.ListExpressionSteppingTest6
{
- // Offset: 0x00000000 Length: 0x000002BA
+ // Offset: 0x00000000 Length: 0x00000299
}
.mresource public FSharpOptimizationData.ListExpressionSteppingTest6
{
- // Offset: 0x000002C0 Length: 0x000000BC
+ // Offset: 0x000002A0 Length: 0x000000BC
}
.module ListExpressionSteppingTest6.exe
-// MVID: {4DAC0CD3-98A2-AB14-A745-0383D30CAC4D}
+// MVID: {590846DA-98A2-AB14-A745-0383DA460859}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x0000000000580000
+// Image base: 0x011D0000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -113,10 +113,10 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 351 (0x15f)
+ // Code size 341 (0x155)
.maxstack 6
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 'C:\\src\\manofstick\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\ListExpressionStepping\\ListExpressionSteppingTest6.fs'
IL_0000: ldarg.0
IL_0001: ldfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
IL_0006: ldc.i4.1
@@ -139,152 +139,150 @@
IL_002b: br.s IL_0042
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_002d: nop
- IL_002e: br IL_00b2
+ IL_002e: br IL_00ad
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0033: nop
- IL_0034: br.s IL_00a8
+ IL_0034: br.s IL_00a3
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0036: nop
- IL_0037: br IL_0135
+ IL_0037: br IL_012b
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_003c: nop
- IL_003d: br IL_012b
+ IL_003d: br IL_0121
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0042: nop
- IL_0043: br IL_0156
+ IL_0043: br IL_014c
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0048: nop
- .line 7,9 : 11,21
+ .line 7,9 : 11,21 ''
IL_0049: ldarg.0
IL_004a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::get_es()
- IL_004f: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0054: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_0059: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
- IL_005e: ldarg.0
- IL_005f: ldc.i4.1
- IL_0060: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- .line 7,9 : 11,21
- IL_0065: ldarg.0
- IL_0066: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
- IL_006b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0070: brfalse.s IL_00b2
-
- IL_0072: ldarg.0
- IL_0073: ldarg.0
- IL_0074: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
- IL_0079: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_007e: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x
- .line 8,8 : 14,29
- IL_0083: ldstr "hello"
- IL_0088: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
- IL_008d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
- IL_0092: pop
- IL_0093: ldarg.0
- IL_0094: ldc.i4.2
- IL_0095: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- .line 9,9 : 14,21
- IL_009a: ldarg.0
- IL_009b: ldarg.0
- IL_009c: ldfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x
- IL_00a1: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::current
- IL_00a6: ldc.i4.1
- IL_00a7: ret
-
- .line 7,9 : 11,21
- IL_00a8: ldarg.0
- IL_00a9: ldc.i4.0
- IL_00aa: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x
- .line 100001,100001 : 0,0
- IL_00af: nop
- IL_00b0: br.s IL_0065
-
- IL_00b2: ldarg.0
- IL_00b3: ldc.i4.5
- IL_00b4: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- .line 7,9 : 11,21
- IL_00b9: ldarg.0
- IL_00ba: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
- IL_00bf: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00c4: nop
- IL_00c5: ldarg.0
- IL_00c6: ldnull
- IL_00c7: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
- .line 10,12 : 11,21
- IL_00cc: ldarg.0
- IL_00cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::get_es()
- IL_00d2: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_00d7: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_00dc: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
- IL_00e1: ldarg.0
- IL_00e2: ldc.i4.3
- IL_00e3: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- .line 10,12 : 11,21
- IL_00e8: ldarg.0
- IL_00e9: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
- IL_00ee: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_00f3: brfalse.s IL_0135
-
- IL_00f5: ldarg.0
- IL_00f6: ldarg.0
- IL_00f7: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
- IL_00fc: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0101: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x0
- .line 11,11 : 14,31
- IL_0106: ldstr "goodbye"
- IL_010b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
- IL_0110: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
- IL_0115: pop
- IL_0116: ldarg.0
- IL_0117: ldc.i4.4
- IL_0118: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- .line 12,12 : 14,21
- IL_011d: ldarg.0
- IL_011e: ldarg.0
- IL_011f: ldfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x0
- IL_0124: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::current
- IL_0129: ldc.i4.1
- IL_012a: ret
-
- .line 10,12 : 11,21
+ IL_004f: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_0054: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
+ IL_0059: ldarg.0
+ IL_005a: ldc.i4.1
+ IL_005b: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ .line 7,9 : 11,21 ''
+ IL_0060: ldarg.0
+ IL_0061: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
+ IL_0066: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_006b: brfalse.s IL_00ad
+
+ IL_006d: ldarg.0
+ IL_006e: ldarg.0
+ IL_006f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
+ IL_0074: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_0079: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x
+ .line 8,8 : 14,29 ''
+ IL_007e: ldstr "hello"
+ IL_0083: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
+ IL_0088: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
+ IL_008d: pop
+ IL_008e: ldarg.0
+ IL_008f: ldc.i4.2
+ IL_0090: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ .line 9,9 : 14,21 ''
+ IL_0095: ldarg.0
+ IL_0096: ldarg.0
+ IL_0097: ldfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x
+ IL_009c: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::current
+ IL_00a1: ldc.i4.1
+ IL_00a2: ret
+
+ .line 7,9 : 11,21 ''
+ IL_00a3: ldarg.0
+ IL_00a4: ldc.i4.0
+ IL_00a5: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x
+ .line 100001,100001 : 0,0 ''
+ IL_00aa: nop
+ IL_00ab: br.s IL_0060
+
+ IL_00ad: ldarg.0
+ IL_00ae: ldc.i4.5
+ IL_00af: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ .line 7,9 : 11,21 ''
+ IL_00b4: ldarg.0
+ IL_00b5: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
+ IL_00ba: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00bf: nop
+ IL_00c0: ldarg.0
+ IL_00c1: ldnull
+ IL_00c2: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
+ .line 10,12 : 11,21 ''
+ IL_00c7: ldarg.0
+ IL_00c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::get_es()
+ IL_00cd: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_00d2: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
+ IL_00d7: ldarg.0
+ IL_00d8: ldc.i4.3
+ IL_00d9: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ .line 10,12 : 11,21 ''
+ IL_00de: ldarg.0
+ IL_00df: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
+ IL_00e4: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_00e9: brfalse.s IL_012b
+
+ IL_00eb: ldarg.0
+ IL_00ec: ldarg.0
+ IL_00ed: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
+ IL_00f2: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_00f7: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x0
+ .line 11,11 : 14,31 ''
+ IL_00fc: ldstr "goodbye"
+ IL_0101: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string)
+ IL_0106: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4)
+ IL_010b: pop
+ IL_010c: ldarg.0
+ IL_010d: ldc.i4.4
+ IL_010e: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ .line 12,12 : 14,21 ''
+ IL_0113: ldarg.0
+ IL_0114: ldarg.0
+ IL_0115: ldfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x0
+ IL_011a: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::current
+ IL_011f: ldc.i4.1
+ IL_0120: ret
+
+ .line 10,12 : 11,21 ''
+ IL_0121: ldarg.0
+ IL_0122: ldc.i4.0
+ IL_0123: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x0
+ .line 100001,100001 : 0,0 ''
+ IL_0128: nop
+ IL_0129: br.s IL_00de
+
IL_012b: ldarg.0
- IL_012c: ldc.i4.0
- IL_012d: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::x0
- .line 100001,100001 : 0,0
- IL_0132: nop
- IL_0133: br.s IL_00e8
-
- IL_0135: ldarg.0
- IL_0136: ldc.i4.5
- IL_0137: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- .line 10,12 : 11,21
- IL_013c: ldarg.0
- IL_013d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
- IL_0142: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_0147: nop
- IL_0148: ldarg.0
- IL_0149: ldnull
- IL_014a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
- IL_014f: ldarg.0
- IL_0150: ldc.i4.5
- IL_0151: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
- IL_0156: ldarg.0
- IL_0157: ldc.i4.0
- IL_0158: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::current
- IL_015d: ldc.i4.0
- IL_015e: ret
+ IL_012c: ldc.i4.5
+ IL_012d: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ .line 10,12 : 11,21 ''
+ IL_0132: ldarg.0
+ IL_0133: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
+ IL_0138: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_013d: nop
+ IL_013e: ldarg.0
+ IL_013f: ldnull
+ IL_0140: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
+ IL_0145: ldarg.0
+ IL_0146: ldc.i4.5
+ IL_0147: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::pc
+ IL_014c: ldarg.0
+ IL_014d: ldc.i4.0
+ IL_014e: stfld int32 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::current
+ IL_0153: ldc.i4.0
+ IL_0154: ret
} // end of method f7@7::GenerateNext
.method public strict virtual instance void
@@ -295,7 +293,7 @@
.locals init ([0] class [mscorlib]System.Exception V_0,
[1] class [FSharp.Core]Microsoft.FSharp.Core.Unit V_1,
[2] class [mscorlib]System.Exception e)
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_0000: ldnull
IL_0001: stloc.0
IL_0002: ldarg.0
@@ -306,13 +304,13 @@
IL_0015)
IL_0013: br.s IL_001b
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0015: nop
IL_0016: br IL_00b2
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_001b: nop
.try
{
@@ -339,40 +337,40 @@
IL_004b: br.s IL_005c
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_004d: nop
IL_004e: br.s IL_008c
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0050: nop
IL_0051: br.s IL_0078
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0053: nop
IL_0054: br.s IL_0077
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0056: nop
IL_0057: br.s IL_0061
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_0059: nop
IL_005a: br.s IL_0060
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_005c: nop
IL_005d: br.s IL_008c
- .line 100001,100001 : 0,0
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
+ .line 100001,100001 : 0,0 ''
IL_005f: nop
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_0060: nop
IL_0061: ldarg.0
IL_0062: ldc.i4.5
@@ -381,11 +379,11 @@
IL_0069: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::enum0
IL_006e: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
IL_0073: nop
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_0074: nop
IL_0075: br.s IL_008c
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_0077: nop
IL_0078: ldarg.0
IL_0079: ldc.i4.5
@@ -394,7 +392,7 @@
IL_0080: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6/f7@7::'enum'
IL_0085: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
IL_008a: nop
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_008b: nop
IL_008c: ldarg.0
IL_008d: ldc.i4.5
@@ -411,18 +409,18 @@
{
IL_009e: castclass [mscorlib]System.Exception
IL_00a3: stloc.2
- .line 7,9 : 11,21
+ .line 7,9 : 11,21 ''
IL_00a4: ldloc.2
IL_00a5: stloc.0
IL_00a6: ldnull
IL_00a7: stloc.1
IL_00a8: leave.s IL_00aa
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
} // end handler
IL_00aa: ldloc.1
IL_00ab: pop
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_00ac: nop
IL_00ad: br IL_0002
@@ -435,11 +433,11 @@
IL_00ba: br.s IL_00be
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_00bc: ldloc.0
IL_00bd: throw
- .line 100001,100001 : 0,0
+ .line 100001,100001 : 0,0 ''
IL_00be: ret
} // end of method f7@7::Close
@@ -559,7 +557,7 @@
{
// Code size 20 (0x14)
.maxstack 8
- .line 7,12 : 9,23
+ .line 7,12 : 9,23 ''
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: ldc.i4.0
@@ -603,7 +601,7 @@
// Code size 38 (0x26)
.maxstack 6
.locals init ([0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es)
- .line 5,5 : 5,21
+ .line 5,5 : 5,21 ''
IL_0000: nop
IL_0001: ldc.i4.1
IL_0002: ldc.i4.2
@@ -618,7 +616,7 @@
IL_0018: dup
IL_0019: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$ListExpressionSteppingTest6::es@5
IL_001e: stloc.0
- .line 14,14 : 13,17
+ .line 14,14 : 13,17 ''
IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::f7()
IL_0024: pop
IL_0025: ret
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.netfx4.bsl
index 93eec7ae5f8..840f41e6749 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.netfx4.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.il.netfx4.bsl
@@ -38,20 +38,20 @@
}
.mresource public FSharpSignatureData.Linq101Aggregates01
{
- // Offset: 0x00000000 Length: 0x00000606
+ // Offset: 0x00000000 Length: 0x00000610
}
.mresource public FSharpOptimizationData.Linq101Aggregates01
{
- // Offset: 0x00000610 Length: 0x00000211
+ // Offset: 0x00000618 Length: 0x00000211
}
.module Linq101Aggregates01.exe
-// MVID: {58EED771-D281-4783-A745-038371D7EE58}
+// MVID: {590846DB-D281-4783-A745-0383DB460859}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x01660000
+// Image base: 0x01180000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -113,10 +113,10 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 196 (0xc4)
+ // Code size 191 (0xbf)
.maxstack 6
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 100001,100001 : 0,0 'c:\\microsoft\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Aggregates01.fs'
+ .line 100001,100001 : 0,0 'C:\\src\\manofstick\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Aggregates01.fs'
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101Aggregates01/uniqueFactors@12::pc
IL_0006: ldc.i4.1
@@ -136,17 +136,17 @@
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br.s IL_009a
+ IL_0022: br.s IL_0095
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0024: nop
- IL_0025: br.s IL_0089
+ IL_0025: br.s IL_0084
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0027: nop
- IL_0028: br IL_00bb
+ IL_0028: br IL_00b6
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
@@ -154,69 +154,68 @@
.line 12,12 : 9,33 ''
IL_002e: ldarg.0
IL_002f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_factorsOf300()
- IL_0034: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0039: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_003e: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
- IL_0043: ldarg.0
- IL_0044: ldc.i4.1
- IL_0045: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
+ IL_0034: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_0039: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
+ IL_003e: ldarg.0
+ IL_003f: ldc.i4.1
+ IL_0040: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
.line 12,12 : 9,33 ''
- IL_004a: ldarg.0
- IL_004b: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
- IL_0050: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0055: brfalse.s IL_009a
-
- IL_0057: ldarg.0
- IL_0058: ldarg.0
- IL_0059: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
- IL_005e: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0063: stfld int32 Linq101Aggregates01/uniqueFactors@12::_arg1
+ IL_0045: ldarg.0
+ IL_0046: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
+ IL_004b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0050: brfalse.s IL_0095
+
+ IL_0052: ldarg.0
+ IL_0053: ldarg.0
+ IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
+ IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005e: stfld int32 Linq101Aggregates01/uniqueFactors@12::_arg1
.line 12,12 : 9,33 ''
- IL_0068: ldarg.0
- IL_0069: ldarg.0
- IL_006a: ldfld int32 Linq101Aggregates01/uniqueFactors@12::_arg1
- IL_006f: stfld int32 Linq101Aggregates01/uniqueFactors@12::n
- IL_0074: ldarg.0
- IL_0075: ldc.i4.2
- IL_0076: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
+ IL_0063: ldarg.0
+ IL_0064: ldarg.0
+ IL_0065: ldfld int32 Linq101Aggregates01/uniqueFactors@12::_arg1
+ IL_006a: stfld int32 Linq101Aggregates01/uniqueFactors@12::n
+ IL_006f: ldarg.0
+ IL_0070: ldc.i4.2
+ IL_0071: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
.line 13,13 : 9,17 ''
- IL_007b: ldarg.0
- IL_007c: ldarg.0
- IL_007d: ldfld int32 Linq101Aggregates01/uniqueFactors@12::n
- IL_0082: stfld int32 Linq101Aggregates01/uniqueFactors@12::current
- IL_0087: ldc.i4.1
- IL_0088: ret
-
- IL_0089: ldarg.0
- IL_008a: ldc.i4.0
- IL_008b: stfld int32 Linq101Aggregates01/uniqueFactors@12::n
+ IL_0076: ldarg.0
+ IL_0077: ldarg.0
+ IL_0078: ldfld int32 Linq101Aggregates01/uniqueFactors@12::n
+ IL_007d: stfld int32 Linq101Aggregates01/uniqueFactors@12::current
+ IL_0082: ldc.i4.1
+ IL_0083: ret
+
+ IL_0084: ldarg.0
+ IL_0085: ldc.i4.0
+ IL_0086: stfld int32 Linq101Aggregates01/uniqueFactors@12::n
.line 12,12 : 9,33 ''
- IL_0090: ldarg.0
- IL_0091: ldc.i4.0
- IL_0092: stfld int32 Linq101Aggregates01/uniqueFactors@12::_arg1
+ IL_008b: ldarg.0
+ IL_008c: ldc.i4.0
+ IL_008d: stfld int32 Linq101Aggregates01/uniqueFactors@12::_arg1
.line 100001,100001 : 0,0 ''
- IL_0097: nop
- IL_0098: br.s IL_004a
+ IL_0092: nop
+ IL_0093: br.s IL_0045
- IL_009a: ldarg.0
- IL_009b: ldc.i4.3
- IL_009c: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
+ IL_0095: ldarg.0
+ IL_0096: ldc.i4.3
+ IL_0097: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
.line 12,12 : 9,33 ''
- IL_00a1: ldarg.0
- IL_00a2: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
- IL_00a7: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00ac: nop
- IL_00ad: ldarg.0
- IL_00ae: ldnull
- IL_00af: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
- IL_00b4: ldarg.0
- IL_00b5: ldc.i4.3
- IL_00b6: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
- IL_00bb: ldarg.0
- IL_00bc: ldc.i4.0
- IL_00bd: stfld int32 Linq101Aggregates01/uniqueFactors@12::current
- IL_00c2: ldc.i4.0
- IL_00c3: ret
+ IL_009c: ldarg.0
+ IL_009d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
+ IL_00a2: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a7: nop
+ IL_00a8: ldarg.0
+ IL_00a9: ldnull
+ IL_00aa: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/uniqueFactors@12::'enum'
+ IL_00af: ldarg.0
+ IL_00b0: ldc.i4.3
+ IL_00b1: stfld int32 Linq101Aggregates01/uniqueFactors@12::pc
+ IL_00b6: ldarg.0
+ IL_00b7: ldc.i4.0
+ IL_00b8: stfld int32 Linq101Aggregates01/uniqueFactors@12::current
+ IL_00bd: ldc.i4.0
+ IL_00be: ret
} // end of method uniqueFactors@12::GenerateNext
.method public strict virtual instance void
@@ -481,7 +480,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 196 (0xc4)
+ // Code size 191 (0xbf)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -503,17 +502,17 @@
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br.s IL_009a
+ IL_0022: br.s IL_0095
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0024: nop
- IL_0025: br.s IL_0089
+ IL_0025: br.s IL_0084
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0027: nop
- IL_0028: br IL_00bb
+ IL_0028: br IL_00b6
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
@@ -521,69 +520,68 @@
.line 21,21 : 9,28 ''
IL_002e: ldarg.0
IL_002f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_numbers()
- IL_0034: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0039: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_003e: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
- IL_0043: ldarg.0
- IL_0044: ldc.i4.1
- IL_0045: stfld int32 Linq101Aggregates01/numSum@21::pc
+ IL_0034: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_0039: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
+ IL_003e: ldarg.0
+ IL_003f: ldc.i4.1
+ IL_0040: stfld int32 Linq101Aggregates01/numSum@21::pc
.line 21,21 : 9,28 ''
- IL_004a: ldarg.0
- IL_004b: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
- IL_0050: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0055: brfalse.s IL_009a
-
- IL_0057: ldarg.0
- IL_0058: ldarg.0
- IL_0059: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
- IL_005e: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0063: stfld int32 Linq101Aggregates01/numSum@21::_arg1
+ IL_0045: ldarg.0
+ IL_0046: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
+ IL_004b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0050: brfalse.s IL_0095
+
+ IL_0052: ldarg.0
+ IL_0053: ldarg.0
+ IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
+ IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005e: stfld int32 Linq101Aggregates01/numSum@21::_arg1
.line 21,21 : 9,28 ''
- IL_0068: ldarg.0
- IL_0069: ldarg.0
- IL_006a: ldfld int32 Linq101Aggregates01/numSum@21::_arg1
- IL_006f: stfld int32 Linq101Aggregates01/numSum@21::n
- IL_0074: ldarg.0
- IL_0075: ldc.i4.2
- IL_0076: stfld int32 Linq101Aggregates01/numSum@21::pc
+ IL_0063: ldarg.0
+ IL_0064: ldarg.0
+ IL_0065: ldfld int32 Linq101Aggregates01/numSum@21::_arg1
+ IL_006a: stfld int32 Linq101Aggregates01/numSum@21::n
+ IL_006f: ldarg.0
+ IL_0070: ldc.i4.2
+ IL_0071: stfld int32 Linq101Aggregates01/numSum@21::pc
.line 22,22 : 9,16 ''
- IL_007b: ldarg.0
- IL_007c: ldarg.0
- IL_007d: ldfld int32 Linq101Aggregates01/numSum@21::n
- IL_0082: stfld int32 Linq101Aggregates01/numSum@21::current
- IL_0087: ldc.i4.1
- IL_0088: ret
-
- IL_0089: ldarg.0
- IL_008a: ldc.i4.0
- IL_008b: stfld int32 Linq101Aggregates01/numSum@21::n
+ IL_0076: ldarg.0
+ IL_0077: ldarg.0
+ IL_0078: ldfld int32 Linq101Aggregates01/numSum@21::n
+ IL_007d: stfld int32 Linq101Aggregates01/numSum@21::current
+ IL_0082: ldc.i4.1
+ IL_0083: ret
+
+ IL_0084: ldarg.0
+ IL_0085: ldc.i4.0
+ IL_0086: stfld int32 Linq101Aggregates01/numSum@21::n
.line 21,21 : 9,28 ''
- IL_0090: ldarg.0
- IL_0091: ldc.i4.0
- IL_0092: stfld int32 Linq101Aggregates01/numSum@21::_arg1
+ IL_008b: ldarg.0
+ IL_008c: ldc.i4.0
+ IL_008d: stfld int32 Linq101Aggregates01/numSum@21::_arg1
.line 100001,100001 : 0,0 ''
- IL_0097: nop
- IL_0098: br.s IL_004a
+ IL_0092: nop
+ IL_0093: br.s IL_0045
- IL_009a: ldarg.0
- IL_009b: ldc.i4.3
- IL_009c: stfld int32 Linq101Aggregates01/numSum@21::pc
+ IL_0095: ldarg.0
+ IL_0096: ldc.i4.3
+ IL_0097: stfld int32 Linq101Aggregates01/numSum@21::pc
.line 21,21 : 9,28 ''
- IL_00a1: ldarg.0
- IL_00a2: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
- IL_00a7: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00ac: nop
- IL_00ad: ldarg.0
- IL_00ae: ldnull
- IL_00af: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
- IL_00b4: ldarg.0
- IL_00b5: ldc.i4.3
- IL_00b6: stfld int32 Linq101Aggregates01/numSum@21::pc
- IL_00bb: ldarg.0
- IL_00bc: ldc.i4.0
- IL_00bd: stfld int32 Linq101Aggregates01/numSum@21::current
- IL_00c2: ldc.i4.0
- IL_00c3: ret
+ IL_009c: ldarg.0
+ IL_009d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
+ IL_00a2: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a7: nop
+ IL_00a8: ldarg.0
+ IL_00a9: ldnull
+ IL_00aa: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/numSum@21::'enum'
+ IL_00af: ldarg.0
+ IL_00b0: ldc.i4.3
+ IL_00b1: stfld int32 Linq101Aggregates01/numSum@21::pc
+ IL_00b6: ldarg.0
+ IL_00b7: ldc.i4.0
+ IL_00b8: stfld int32 Linq101Aggregates01/numSum@21::current
+ IL_00bd: ldc.i4.0
+ IL_00be: ret
} // end of method numSum@21::GenerateNext
.method public strict virtual instance void
@@ -876,7 +874,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 196 (0xc4)
+ // Code size 191 (0xbf)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -898,17 +896,17 @@
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br.s IL_009a
+ IL_0022: br.s IL_0095
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0024: nop
- IL_0025: br.s IL_0089
+ IL_0025: br.s IL_0084
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0027: nop
- IL_0028: br IL_00bb
+ IL_0028: br IL_00b6
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
@@ -916,69 +914,68 @@
.line 30,30 : 9,26 ''
IL_002e: ldarg.0
IL_002f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_words()
- IL_0034: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0039: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_003e: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
- IL_0043: ldarg.0
- IL_0044: ldc.i4.1
- IL_0045: stfld int32 Linq101Aggregates01/totalChars@30::pc
+ IL_0034: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_0039: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
+ IL_003e: ldarg.0
+ IL_003f: ldc.i4.1
+ IL_0040: stfld int32 Linq101Aggregates01/totalChars@30::pc
.line 30,30 : 9,26 ''
- IL_004a: ldarg.0
- IL_004b: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
- IL_0050: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0055: brfalse.s IL_009a
-
- IL_0057: ldarg.0
- IL_0058: ldarg.0
- IL_0059: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
- IL_005e: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0063: stfld string Linq101Aggregates01/totalChars@30::_arg1
+ IL_0045: ldarg.0
+ IL_0046: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
+ IL_004b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0050: brfalse.s IL_0095
+
+ IL_0052: ldarg.0
+ IL_0053: ldarg.0
+ IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
+ IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005e: stfld string Linq101Aggregates01/totalChars@30::_arg1
.line 30,30 : 9,26 ''
- IL_0068: ldarg.0
- IL_0069: ldarg.0
- IL_006a: ldfld string Linq101Aggregates01/totalChars@30::_arg1
- IL_006f: stfld string Linq101Aggregates01/totalChars@30::w
- IL_0074: ldarg.0
- IL_0075: ldc.i4.2
- IL_0076: stfld int32 Linq101Aggregates01/totalChars@30::pc
+ IL_0063: ldarg.0
+ IL_0064: ldarg.0
+ IL_0065: ldfld string Linq101Aggregates01/totalChars@30::_arg1
+ IL_006a: stfld string Linq101Aggregates01/totalChars@30::w
+ IL_006f: ldarg.0
+ IL_0070: ldc.i4.2
+ IL_0071: stfld int32 Linq101Aggregates01/totalChars@30::pc
.line 31,31 : 9,25 ''
- IL_007b: ldarg.0
- IL_007c: ldarg.0
- IL_007d: ldfld string Linq101Aggregates01/totalChars@30::w
- IL_0082: stfld string Linq101Aggregates01/totalChars@30::current
- IL_0087: ldc.i4.1
- IL_0088: ret
-
- IL_0089: ldarg.0
- IL_008a: ldnull
- IL_008b: stfld string Linq101Aggregates01/totalChars@30::w
+ IL_0076: ldarg.0
+ IL_0077: ldarg.0
+ IL_0078: ldfld string Linq101Aggregates01/totalChars@30::w
+ IL_007d: stfld string Linq101Aggregates01/totalChars@30::current
+ IL_0082: ldc.i4.1
+ IL_0083: ret
+
+ IL_0084: ldarg.0
+ IL_0085: ldnull
+ IL_0086: stfld string Linq101Aggregates01/totalChars@30::w
.line 30,30 : 9,26 ''
- IL_0090: ldarg.0
- IL_0091: ldnull
- IL_0092: stfld string Linq101Aggregates01/totalChars@30::_arg1
+ IL_008b: ldarg.0
+ IL_008c: ldnull
+ IL_008d: stfld string Linq101Aggregates01/totalChars@30::_arg1
.line 100001,100001 : 0,0 ''
- IL_0097: nop
- IL_0098: br.s IL_004a
+ IL_0092: nop
+ IL_0093: br.s IL_0045
- IL_009a: ldarg.0
- IL_009b: ldc.i4.3
- IL_009c: stfld int32 Linq101Aggregates01/totalChars@30::pc
+ IL_0095: ldarg.0
+ IL_0096: ldc.i4.3
+ IL_0097: stfld int32 Linq101Aggregates01/totalChars@30::pc
.line 30,30 : 9,26 ''
- IL_00a1: ldarg.0
- IL_00a2: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
- IL_00a7: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00ac: nop
- IL_00ad: ldarg.0
- IL_00ae: ldnull
- IL_00af: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
- IL_00b4: ldarg.0
- IL_00b5: ldc.i4.3
- IL_00b6: stfld int32 Linq101Aggregates01/totalChars@30::pc
- IL_00bb: ldarg.0
- IL_00bc: ldnull
- IL_00bd: stfld string Linq101Aggregates01/totalChars@30::current
- IL_00c2: ldc.i4.0
- IL_00c3: ret
+ IL_009c: ldarg.0
+ IL_009d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
+ IL_00a2: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a7: nop
+ IL_00a8: ldarg.0
+ IL_00a9: ldnull
+ IL_00aa: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/totalChars@30::'enum'
+ IL_00af: ldarg.0
+ IL_00b0: ldc.i4.3
+ IL_00b1: stfld int32 Linq101Aggregates01/totalChars@30::pc
+ IL_00b6: ldarg.0
+ IL_00b7: ldnull
+ IL_00b8: stfld string Linq101Aggregates01/totalChars@30::current
+ IL_00bd: ldc.i4.0
+ IL_00be: ret
} // end of method totalChars@30::GenerateNext
.method public strict virtual instance void
@@ -1375,7 +1372,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 200 (0xc8)
+ // Code size 192 (0xc0)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -1386,99 +1383,98 @@
IL_001b,
IL_001d,
IL_001f)
- IL_0019: br.s IL_0030
+ IL_0019: br.s IL_002d
IL_001b: br.s IL_0021
- IL_001d: br.s IL_0027
+ IL_001d: br.s IL_0024
- IL_001f: br.s IL_002a
+ IL_001f: br.s IL_0027
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br IL_009e
+ IL_0022: br.s IL_0096
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_0027: nop
- IL_0028: br.s IL_008d
+ IL_0024: nop
+ IL_0025: br.s IL_0085
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_002a: nop
- IL_002b: br IL_00bf
+ IL_0027: nop
+ IL_0028: br IL_00b7
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_0030: nop
+ IL_002d: nop
.line 42,42 : 13,26 ''
- IL_0031: ldarg.0
- IL_0032: ldarg.0
- IL_0033: ldfld class [System.Core]System.Linq.IGrouping`2 Linq101Aggregates01/sum@42::g
- IL_0038: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_003d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_0042: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
- IL_0047: ldarg.0
- IL_0048: ldc.i4.1
- IL_0049: stfld int32 Linq101Aggregates01/sum@42::pc
+ IL_002e: ldarg.0
+ IL_002f: ldarg.0
+ IL_0030: ldfld class [System.Core]System.Linq.IGrouping`2 Linq101Aggregates01/sum@42::g
+ IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
+ IL_003f: ldarg.0
+ IL_0040: ldc.i4.1
+ IL_0041: stfld int32 Linq101Aggregates01/sum@42::pc
.line 42,42 : 13,26 ''
- IL_004e: ldarg.0
- IL_004f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
- IL_0054: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0059: brfalse.s IL_009e
-
- IL_005b: ldarg.0
- IL_005c: ldarg.0
- IL_005d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
- IL_0062: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0067: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::_arg3
+ IL_0046: ldarg.0
+ IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
+ IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0051: brfalse.s IL_0096
+
+ IL_0053: ldarg.0
+ IL_0054: ldarg.0
+ IL_0055: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
+ IL_005a: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005f: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::_arg3
.line 42,42 : 13,26 ''
- IL_006c: ldarg.0
- IL_006d: ldarg.0
- IL_006e: ldfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::_arg3
- IL_0073: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::x
- IL_0078: ldarg.0
- IL_0079: ldc.i4.2
- IL_007a: stfld int32 Linq101Aggregates01/sum@42::pc
+ IL_0064: ldarg.0
+ IL_0065: ldarg.0
+ IL_0066: ldfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::_arg3
+ IL_006b: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::x
+ IL_0070: ldarg.0
+ IL_0071: ldc.i4.2
+ IL_0072: stfld int32 Linq101Aggregates01/sum@42::pc
.line 43,43 : 13,33 ''
- IL_007f: ldarg.0
- IL_0080: ldarg.0
- IL_0081: ldfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::x
- IL_0086: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::current
- IL_008b: ldc.i4.1
- IL_008c: ret
-
- IL_008d: ldarg.0
- IL_008e: ldnull
- IL_008f: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::x
+ IL_0077: ldarg.0
+ IL_0078: ldarg.0
+ IL_0079: ldfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::x
+ IL_007e: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::current
+ IL_0083: ldc.i4.1
+ IL_0084: ret
+
+ IL_0085: ldarg.0
+ IL_0086: ldnull
+ IL_0087: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::x
.line 42,42 : 13,26 ''
- IL_0094: ldarg.0
- IL_0095: ldnull
- IL_0096: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::_arg3
+ IL_008c: ldarg.0
+ IL_008d: ldnull
+ IL_008e: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::_arg3
.line 100001,100001 : 0,0 ''
- IL_009b: nop
- IL_009c: br.s IL_004e
+ IL_0093: nop
+ IL_0094: br.s IL_0046
- IL_009e: ldarg.0
- IL_009f: ldc.i4.3
- IL_00a0: stfld int32 Linq101Aggregates01/sum@42::pc
+ IL_0096: ldarg.0
+ IL_0097: ldc.i4.3
+ IL_0098: stfld int32 Linq101Aggregates01/sum@42::pc
.line 42,42 : 13,26 ''
- IL_00a5: ldarg.0
- IL_00a6: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
- IL_00ab: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00b0: nop
- IL_00b1: ldarg.0
- IL_00b2: ldnull
- IL_00b3: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
- IL_00b8: ldarg.0
- IL_00b9: ldc.i4.3
- IL_00ba: stfld int32 Linq101Aggregates01/sum@42::pc
- IL_00bf: ldarg.0
- IL_00c0: ldnull
- IL_00c1: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::current
- IL_00c6: ldc.i4.0
- IL_00c7: ret
+ IL_009d: ldarg.0
+ IL_009e: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
+ IL_00a3: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a8: nop
+ IL_00a9: ldarg.0
+ IL_00aa: ldnull
+ IL_00ab: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/sum@42::'enum'
+ IL_00b0: ldarg.0
+ IL_00b1: ldc.i4.3
+ IL_00b2: stfld int32 Linq101Aggregates01/sum@42::pc
+ IL_00b7: ldarg.0
+ IL_00b8: ldnull
+ IL_00b9: stfld class [Utils]Utils/Product Linq101Aggregates01/sum@42::current
+ IL_00be: ldc.i4.0
+ IL_00bf: ret
} // end of method sum@42::GenerateNext
.method public strict virtual instance void
@@ -1946,7 +1942,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 196 (0xc4)
+ // Code size 191 (0xbf)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -1968,17 +1964,17 @@
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br.s IL_009a
+ IL_0022: br.s IL_0095
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0024: nop
- IL_0025: br.s IL_0089
+ IL_0025: br.s IL_0084
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0027: nop
- IL_0028: br IL_00bb
+ IL_0028: br IL_00b6
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
@@ -1986,69 +1982,68 @@
.line 49,49 : 22,41 ''
IL_002e: ldarg.0
IL_002f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_numbers()
- IL_0034: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0039: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_003e: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
- IL_0043: ldarg.0
- IL_0044: ldc.i4.1
- IL_0045: stfld int32 Linq101Aggregates01/minNum@49::pc
+ IL_0034: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_0039: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
+ IL_003e: ldarg.0
+ IL_003f: ldc.i4.1
+ IL_0040: stfld int32 Linq101Aggregates01/minNum@49::pc
.line 49,49 : 22,41 ''
- IL_004a: ldarg.0
- IL_004b: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
- IL_0050: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0055: brfalse.s IL_009a
-
- IL_0057: ldarg.0
- IL_0058: ldarg.0
- IL_0059: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
- IL_005e: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0063: stfld int32 Linq101Aggregates01/minNum@49::_arg1
+ IL_0045: ldarg.0
+ IL_0046: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
+ IL_004b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0050: brfalse.s IL_0095
+
+ IL_0052: ldarg.0
+ IL_0053: ldarg.0
+ IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
+ IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005e: stfld int32 Linq101Aggregates01/minNum@49::_arg1
.line 49,49 : 22,41 ''
- IL_0068: ldarg.0
- IL_0069: ldarg.0
- IL_006a: ldfld int32 Linq101Aggregates01/minNum@49::_arg1
- IL_006f: stfld int32 Linq101Aggregates01/minNum@49::n
- IL_0074: ldarg.0
- IL_0075: ldc.i4.2
- IL_0076: stfld int32 Linq101Aggregates01/minNum@49::pc
+ IL_0063: ldarg.0
+ IL_0064: ldarg.0
+ IL_0065: ldfld int32 Linq101Aggregates01/minNum@49::_arg1
+ IL_006a: stfld int32 Linq101Aggregates01/minNum@49::n
+ IL_006f: ldarg.0
+ IL_0070: ldc.i4.2
+ IL_0071: stfld int32 Linq101Aggregates01/minNum@49::pc
.line 49,49 : 42,49 ''
- IL_007b: ldarg.0
- IL_007c: ldarg.0
- IL_007d: ldfld int32 Linq101Aggregates01/minNum@49::n
- IL_0082: stfld int32 Linq101Aggregates01/minNum@49::current
- IL_0087: ldc.i4.1
- IL_0088: ret
-
- IL_0089: ldarg.0
- IL_008a: ldc.i4.0
- IL_008b: stfld int32 Linq101Aggregates01/minNum@49::n
+ IL_0076: ldarg.0
+ IL_0077: ldarg.0
+ IL_0078: ldfld int32 Linq101Aggregates01/minNum@49::n
+ IL_007d: stfld int32 Linq101Aggregates01/minNum@49::current
+ IL_0082: ldc.i4.1
+ IL_0083: ret
+
+ IL_0084: ldarg.0
+ IL_0085: ldc.i4.0
+ IL_0086: stfld int32 Linq101Aggregates01/minNum@49::n
.line 49,49 : 22,41 ''
- IL_0090: ldarg.0
- IL_0091: ldc.i4.0
- IL_0092: stfld int32 Linq101Aggregates01/minNum@49::_arg1
+ IL_008b: ldarg.0
+ IL_008c: ldc.i4.0
+ IL_008d: stfld int32 Linq101Aggregates01/minNum@49::_arg1
.line 100001,100001 : 0,0 ''
- IL_0097: nop
- IL_0098: br.s IL_004a
+ IL_0092: nop
+ IL_0093: br.s IL_0045
- IL_009a: ldarg.0
- IL_009b: ldc.i4.3
- IL_009c: stfld int32 Linq101Aggregates01/minNum@49::pc
+ IL_0095: ldarg.0
+ IL_0096: ldc.i4.3
+ IL_0097: stfld int32 Linq101Aggregates01/minNum@49::pc
.line 49,49 : 22,41 ''
- IL_00a1: ldarg.0
- IL_00a2: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
- IL_00a7: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00ac: nop
- IL_00ad: ldarg.0
- IL_00ae: ldnull
- IL_00af: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
- IL_00b4: ldarg.0
- IL_00b5: ldc.i4.3
- IL_00b6: stfld int32 Linq101Aggregates01/minNum@49::pc
- IL_00bb: ldarg.0
- IL_00bc: ldc.i4.0
- IL_00bd: stfld int32 Linq101Aggregates01/minNum@49::current
- IL_00c2: ldc.i4.0
- IL_00c3: ret
+ IL_009c: ldarg.0
+ IL_009d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
+ IL_00a2: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a7: nop
+ IL_00a8: ldarg.0
+ IL_00a9: ldnull
+ IL_00aa: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/minNum@49::'enum'
+ IL_00af: ldarg.0
+ IL_00b0: ldc.i4.3
+ IL_00b1: stfld int32 Linq101Aggregates01/minNum@49::pc
+ IL_00b6: ldarg.0
+ IL_00b7: ldc.i4.0
+ IL_00b8: stfld int32 Linq101Aggregates01/minNum@49::current
+ IL_00bd: ldc.i4.0
+ IL_00be: ret
} // end of method minNum@49::GenerateNext
.method public strict virtual instance void
@@ -2341,7 +2336,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 196 (0xc4)
+ // Code size 191 (0xbf)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -2363,17 +2358,17 @@
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br.s IL_009a
+ IL_0022: br.s IL_0095
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0024: nop
- IL_0025: br.s IL_0089
+ IL_0025: br.s IL_0084
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0027: nop
- IL_0028: br IL_00bb
+ IL_0028: br IL_00b6
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
@@ -2381,69 +2376,68 @@
.line 52,52 : 28,45 ''
IL_002e: ldarg.0
IL_002f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Linq101Aggregates01::get_words()
- IL_0034: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_0039: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_003e: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
- IL_0043: ldarg.0
- IL_0044: ldc.i4.1
- IL_0045: stfld int32 Linq101Aggregates01/shortestWord@52::pc
+ IL_0034: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_0039: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
+ IL_003e: ldarg.0
+ IL_003f: ldc.i4.1
+ IL_0040: stfld int32 Linq101Aggregates01/shortestWord@52::pc
.line 52,52 : 28,45 ''
- IL_004a: ldarg.0
- IL_004b: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
- IL_0050: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0055: brfalse.s IL_009a
-
- IL_0057: ldarg.0
- IL_0058: ldarg.0
- IL_0059: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
- IL_005e: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0063: stfld string Linq101Aggregates01/shortestWord@52::_arg1
+ IL_0045: ldarg.0
+ IL_0046: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
+ IL_004b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0050: brfalse.s IL_0095
+
+ IL_0052: ldarg.0
+ IL_0053: ldarg.0
+ IL_0054: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
+ IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005e: stfld string Linq101Aggregates01/shortestWord@52::_arg1
.line 52,52 : 28,45 ''
- IL_0068: ldarg.0
- IL_0069: ldarg.0
- IL_006a: ldfld string Linq101Aggregates01/shortestWord@52::_arg1
- IL_006f: stfld string Linq101Aggregates01/shortestWord@52::w
- IL_0074: ldarg.0
- IL_0075: ldc.i4.2
- IL_0076: stfld int32 Linq101Aggregates01/shortestWord@52::pc
+ IL_0063: ldarg.0
+ IL_0064: ldarg.0
+ IL_0065: ldfld string Linq101Aggregates01/shortestWord@52::_arg1
+ IL_006a: stfld string Linq101Aggregates01/shortestWord@52::w
+ IL_006f: ldarg.0
+ IL_0070: ldc.i4.2
+ IL_0071: stfld int32 Linq101Aggregates01/shortestWord@52::pc
.line 52,52 : 46,60 ''
- IL_007b: ldarg.0
- IL_007c: ldarg.0
- IL_007d: ldfld string Linq101Aggregates01/shortestWord@52::w
- IL_0082: stfld string Linq101Aggregates01/shortestWord@52::current
- IL_0087: ldc.i4.1
- IL_0088: ret
-
- IL_0089: ldarg.0
- IL_008a: ldnull
- IL_008b: stfld string Linq101Aggregates01/shortestWord@52::w
+ IL_0076: ldarg.0
+ IL_0077: ldarg.0
+ IL_0078: ldfld string Linq101Aggregates01/shortestWord@52::w
+ IL_007d: stfld string Linq101Aggregates01/shortestWord@52::current
+ IL_0082: ldc.i4.1
+ IL_0083: ret
+
+ IL_0084: ldarg.0
+ IL_0085: ldnull
+ IL_0086: stfld string Linq101Aggregates01/shortestWord@52::w
.line 52,52 : 28,45 ''
- IL_0090: ldarg.0
- IL_0091: ldnull
- IL_0092: stfld string Linq101Aggregates01/shortestWord@52::_arg1
+ IL_008b: ldarg.0
+ IL_008c: ldnull
+ IL_008d: stfld string Linq101Aggregates01/shortestWord@52::_arg1
.line 100001,100001 : 0,0 ''
- IL_0097: nop
- IL_0098: br.s IL_004a
+ IL_0092: nop
+ IL_0093: br.s IL_0045
- IL_009a: ldarg.0
- IL_009b: ldc.i4.3
- IL_009c: stfld int32 Linq101Aggregates01/shortestWord@52::pc
+ IL_0095: ldarg.0
+ IL_0096: ldc.i4.3
+ IL_0097: stfld int32 Linq101Aggregates01/shortestWord@52::pc
.line 52,52 : 28,45 ''
- IL_00a1: ldarg.0
- IL_00a2: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
- IL_00a7: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00ac: nop
- IL_00ad: ldarg.0
- IL_00ae: ldnull
- IL_00af: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
- IL_00b4: ldarg.0
- IL_00b5: ldc.i4.3
- IL_00b6: stfld int32 Linq101Aggregates01/shortestWord@52::pc
- IL_00bb: ldarg.0
- IL_00bc: ldnull
- IL_00bd: stfld string Linq101Aggregates01/shortestWord@52::current
- IL_00c2: ldc.i4.0
- IL_00c3: ret
+ IL_009c: ldarg.0
+ IL_009d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
+ IL_00a2: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a7: nop
+ IL_00a8: ldarg.0
+ IL_00a9: ldnull
+ IL_00aa: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/shortestWord@52::'enum'
+ IL_00af: ldarg.0
+ IL_00b0: ldc.i4.3
+ IL_00b1: stfld int32 Linq101Aggregates01/shortestWord@52::pc
+ IL_00b6: ldarg.0
+ IL_00b7: ldnull
+ IL_00b8: stfld string Linq101Aggregates01/shortestWord@52::current
+ IL_00bd: ldc.i4.0
+ IL_00be: ret
} // end of method shortestWord@52::GenerateNext
.method public strict virtual instance void
@@ -2840,7 +2834,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 200 (0xc8)
+ // Code size 192 (0xc0)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -2851,99 +2845,98 @@
IL_001b,
IL_001d,
IL_001f)
- IL_0019: br.s IL_0030
+ IL_0019: br.s IL_002d
IL_001b: br.s IL_0021
- IL_001d: br.s IL_0027
+ IL_001d: br.s IL_0024
- IL_001f: br.s IL_002a
+ IL_001f: br.s IL_0027
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br IL_009e
+ IL_0022: br.s IL_0096
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_0027: nop
- IL_0028: br.s IL_008d
+ IL_0024: nop
+ IL_0025: br.s IL_0085
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_002a: nop
- IL_002b: br IL_00bf
+ IL_0027: nop
+ IL_0028: br IL_00b7
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_0030: nop
+ IL_002d: nop
.line 59,59 : 27,40 ''
- IL_0031: ldarg.0
- IL_0032: ldarg.0
- IL_0033: ldfld class [System.Core]System.Linq.IGrouping`2 Linq101Aggregates01/min@59::g
- IL_0038: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_003d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_0042: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
- IL_0047: ldarg.0
- IL_0048: ldc.i4.1
- IL_0049: stfld int32 Linq101Aggregates01/min@59::pc
+ IL_002e: ldarg.0
+ IL_002f: ldarg.0
+ IL_0030: ldfld class [System.Core]System.Linq.IGrouping`2 Linq101Aggregates01/min@59::g
+ IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_003a: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
+ IL_003f: ldarg.0
+ IL_0040: ldc.i4.1
+ IL_0041: stfld int32 Linq101Aggregates01/min@59::pc
.line 59,59 : 27,40 ''
- IL_004e: ldarg.0
- IL_004f: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
- IL_0054: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
- IL_0059: brfalse.s IL_009e
-
- IL_005b: ldarg.0
- IL_005c: ldarg.0
- IL_005d: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
- IL_0062: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
- IL_0067: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::_arg3
+ IL_0046: ldarg.0
+ IL_0047: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
+ IL_004c: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0051: brfalse.s IL_0096
+
+ IL_0053: ldarg.0
+ IL_0054: ldarg.0
+ IL_0055: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
+ IL_005a: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_005f: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::_arg3
.line 59,59 : 27,40 ''
- IL_006c: ldarg.0
- IL_006d: ldarg.0
- IL_006e: ldfld class [Utils]Utils/Product Linq101Aggregates01/min@59::_arg3
- IL_0073: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::x
- IL_0078: ldarg.0
- IL_0079: ldc.i4.2
- IL_007a: stfld int32 Linq101Aggregates01/min@59::pc
+ IL_0064: ldarg.0
+ IL_0065: ldarg.0
+ IL_0066: ldfld class [Utils]Utils/Product Linq101Aggregates01/min@59::_arg3
+ IL_006b: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::x
+ IL_0070: ldarg.0
+ IL_0071: ldc.i4.2
+ IL_0072: stfld int32 Linq101Aggregates01/min@59::pc
.line 59,59 : 41,58 ''
- IL_007f: ldarg.0
- IL_0080: ldarg.0
- IL_0081: ldfld class [Utils]Utils/Product Linq101Aggregates01/min@59::x
- IL_0086: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::current
- IL_008b: ldc.i4.1
- IL_008c: ret
-
- IL_008d: ldarg.0
- IL_008e: ldnull
- IL_008f: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::x
+ IL_0077: ldarg.0
+ IL_0078: ldarg.0
+ IL_0079: ldfld class [Utils]Utils/Product Linq101Aggregates01/min@59::x
+ IL_007e: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::current
+ IL_0083: ldc.i4.1
+ IL_0084: ret
+
+ IL_0085: ldarg.0
+ IL_0086: ldnull
+ IL_0087: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::x
.line 59,59 : 27,40 ''
- IL_0094: ldarg.0
- IL_0095: ldnull
- IL_0096: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::_arg3
+ IL_008c: ldarg.0
+ IL_008d: ldnull
+ IL_008e: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::_arg3
.line 100001,100001 : 0,0 ''
- IL_009b: nop
- IL_009c: br.s IL_004e
+ IL_0093: nop
+ IL_0094: br.s IL_0046
- IL_009e: ldarg.0
- IL_009f: ldc.i4.3
- IL_00a0: stfld int32 Linq101Aggregates01/min@59::pc
+ IL_0096: ldarg.0
+ IL_0097: ldc.i4.3
+ IL_0098: stfld int32 Linq101Aggregates01/min@59::pc
.line 59,59 : 27,40 ''
- IL_00a5: ldarg.0
- IL_00a6: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
- IL_00ab: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
- IL_00b0: nop
- IL_00b1: ldarg.0
- IL_00b2: ldnull
- IL_00b3: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
- IL_00b8: ldarg.0
- IL_00b9: ldc.i4.3
- IL_00ba: stfld int32 Linq101Aggregates01/min@59::pc
- IL_00bf: ldarg.0
- IL_00c0: ldnull
- IL_00c1: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::current
- IL_00c6: ldc.i4.0
- IL_00c7: ret
+ IL_009d: ldarg.0
+ IL_009e: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
+ IL_00a3: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0)
+ IL_00a8: nop
+ IL_00a9: ldarg.0
+ IL_00aa: ldnull
+ IL_00ab: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1 Linq101Aggregates01/min@59::'enum'
+ IL_00b0: ldarg.0
+ IL_00b1: ldc.i4.3
+ IL_00b2: stfld int32 Linq101Aggregates01/min@59::pc
+ IL_00b7: ldarg.0
+ IL_00b8: ldnull
+ IL_00b9: stfld class [Utils]Utils/Product Linq101Aggregates01/min@59::current
+ IL_00be: ldc.i4.0
+ IL_00bf: ret
} // end of method min@59::GenerateNext
.method public strict virtual instance void
@@ -3478,7 +3471,7 @@
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1& next) cil managed
{
- // Code size 200 (0xc8)
+ // Code size 192 (0xc0)
.maxstack 6
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
@@ -3489,99 +3482,98 @@
IL_001b,
IL_001d,
IL_001f)
- IL_0019: br.s IL_0030
+ IL_0019: br.s IL_002d
IL_001b: br.s IL_0021
- IL_001d: br.s IL_0027
+ IL_001d: br.s IL_0024
- IL_001f: br.s IL_002a
+ IL_001f: br.s IL_0027
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
IL_0021: nop
- IL_0022: br IL_009e
+ IL_0022: br.s IL_0096
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_0027: nop
- IL_0028: br.s IL_008d
+ IL_0024: nop
+ IL_0025: br.s IL_0085
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_002a: nop
- IL_002b: br IL_00bf
+ IL_0027: nop
+ IL_0028: br IL_00b7
.line 100001,100001 : 0,0 ''
.line 100001,100001 : 0,0 ''
- IL_0030: nop
+ IL_002d: nop
.line 69,69 : 40,53 ''
- IL_0031: ldarg.0
- IL_0032: ldarg.0
- IL_0033: ldfld class [System.Core]System.Linq.IGrouping`2 Linq101Aggregates01/cheapestProducts@69::g
- IL_0038: unbox.any class [mscorlib]System.Collections.Generic.IEnumerable`1
- IL_003d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
- IL_0042: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1