diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index 2b014e168bb..d044c445388 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -1,5 +1,6 @@ ### Fixed +* Fix codegen to produce IL passing ILVerify: specialized stelem/ldelem for primitives, callvirt→call on value types, castclass at interface join points, filter→catch inside finally handlers, witness field alignment in state machine structs. ([PR #19372](https://github.com/dotnet/fsharp/pull/19372)) * Fix outref parameter compiled as byref. (Issue [#13468](https://github.com/dotnet/fsharp/issues/13468), [PR #19340](https://github.com/dotnet/fsharp/pull/19340)) * Fix static abstract interface members with byref params. (Issue [#18135](https://github.com/dotnet/fsharp/issues/18135), [PR #19340](https://github.com/dotnet/fsharp/pull/19340)) * Fix object expressions in struct types no longer generate invalid IL with byref fields. (Issue [#19068](https://github.com/dotnet/fsharp/issues/19068), [PR #19339](https://github.com/dotnet/fsharp/pull/19339)) diff --git a/docs/release-notes/.FSharp.Core/10.0.300.md b/docs/release-notes/.FSharp.Core/10.0.300.md index fe9c39d742d..63321c19617 100644 --- a/docs/release-notes/.FSharp.Core/10.0.300.md +++ b/docs/release-notes/.FSharp.Core/10.0.300.md @@ -8,6 +8,7 @@ * Fix EvaluateQuotation to handle Sequential expressions, void method calls (unit return), and other patterns that were previously throwing NotSupportedException. Also properly handles unit-returning expressions by using Action delegates instead of Func delegates. ([Issue #19099](https://github.com/dotnet/fsharp/issues/19099)) * Fix query conditionals without else branch (if-then only) that were causing type mismatch errors. Now properly extracts element type from IQueryable for creating empty sequences. ([Issue #3445](https://github.com/dotnet/fsharp/issues/3445)) * Fix `Seq.empty` rendering as `"EmptyEnumerable"` in serializers by delegating to `System.Linq.Enumerable.Empty<'T>()` instead of using a custom DU type. ([Issue #17864](https://github.com/dotnet/fsharp/issues/17864), [PR #19317](https://github.com/dotnet/fsharp/pull/19317)) +* Ensure culture-independent parsing of .NET-style interpolated string holes. ([Issue #19367](https://github.com/dotnet/fsharp/issues/19367), [PR #19370](https://github.com/dotnet/fsharp/pull/19370)) ### Added diff --git a/src/Compiler/AbstractIL/ilwrite.fs b/src/Compiler/AbstractIL/ilwrite.fs index 388072f0c16..7751a8d696b 100644 --- a/src/Compiler/AbstractIL/ilwrite.fs +++ b/src/Compiler/AbstractIL/ilwrite.fs @@ -1932,6 +1932,23 @@ module Codebuf = | Unaligned2 -> emitInstrCode codebuf i_unaligned; codebuf.EmitByte 0x2 | Unaligned4 -> emitInstrCode codebuf i_unaligned; codebuf.EmitByte 0x4 + let tryPrimitiveAsBasicType (ilg: ILGlobals) (ty: ILType) = + if isILBoolTy ilg ty then Some DT_U1 + elif isILSByteTy ilg ty then Some DT_I1 + elif isILByteTy ilg ty then Some DT_U1 + elif isILCharTy ilg ty then Some DT_U2 + elif isILInt16Ty ilg ty then Some DT_I2 + elif isILUInt16Ty ilg ty then Some DT_U2 + elif isILInt32Ty ilg ty then Some DT_I4 + elif isILUInt32Ty ilg ty then Some DT_U4 + elif isILInt64Ty ilg ty then Some DT_I8 + elif isILUInt64Ty ilg ty then Some DT_U8 + elif isILSingleTy ilg ty then Some DT_R4 + elif isILDoubleTy ilg ty then Some DT_R8 + elif isILIntPtrTy ilg ty then Some DT_I + elif isILUIntPtrTy ilg ty then Some DT_U + else None + let rec emitInstr cenv codebuf env instr = match instr with | si when isNoArgInstr si -> @@ -2116,14 +2133,18 @@ module Codebuf = | I_stelem_any (shape, ty) -> if (shape = ILArrayShape.SingleDimensional) then - emitTypeInstr cenv codebuf env i_stelem_any ty + match tryPrimitiveAsBasicType cenv.ilg ty with + | Some dt -> emitInstr cenv codebuf env (I_stelem dt) + | None -> emitTypeInstr cenv codebuf env i_stelem_any ty else let args = List.init (shape.Rank+1) (fun i -> if i < shape.Rank then cenv.ilg.typ_Int32 else ty) emitMethodSpecInfoInstr cenv codebuf env i_call ("Set", mkILArrTy(ty, shape), ILCallingConv.Instance, args, ILType.Void, None, []) | I_ldelem_any (shape, ty) -> if (shape = ILArrayShape.SingleDimensional) then - emitTypeInstr cenv codebuf env i_ldelem_any ty + match tryPrimitiveAsBasicType cenv.ilg ty with + | Some dt -> emitInstr cenv codebuf env (I_ldelem dt) + | None -> emitTypeInstr cenv codebuf env i_ldelem_any ty else let args = List.init shape.Rank (fun _ -> cenv.ilg.typ_Int32) emitMethodSpecInfoInstr cenv codebuf env i_call ("Get", mkILArrTy(ty, shape), ILCallingConv.Instance, args, ty, None, []) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 893cd51d3cb..98733d8e4b1 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -1151,6 +1151,9 @@ and sequel = /// Branch to the given mark | Br of Mark + /// Emit castclass to interface type then branch, ensuring correct merge type at join points (ECMA-335 III.1.8.1.3). + | CastThenBr of ILType * Mark + /// Execute the given comparison-then-branch instructions on the result of the expression /// If the branch isn't taken then drop through. | CmpThenBrOrContinue of Pops * ILInstr list @@ -1234,6 +1237,9 @@ and IlxGenEnv = /// Are we under the scope of a try, catch or finally? If so we can't tailcall. SEH = structured exception handling withinSEH: bool + /// Suppresses filter block emission inside finally/fault handlers (workaround for dotnet/runtime#112406). + insideFinallyOrFaultHandler: bool + /// Are we inside of a recursive let binding, while loop, or a for loop? isInLoop: bool @@ -2827,6 +2833,7 @@ let CodeGenThen (cenv: cenv) mgbuf (entryPointInfo, methodName, eenv, alreadyUse cgbuf { eenv with withinSEH = false + insideFinallyOrFaultHandler = false liveLocals = IntMap.empty () innerVals = innerVals } @@ -3261,6 +3268,7 @@ and StringOfSequel sequel = | Return -> "Return" | EndLocalScope(sq, Mark k) -> "EndLocalScope(" + StringOfSequel sq + "," + formatCodeLabel k + ")" | Br(Mark x) -> sprintf "Br L%s" (formatCodeLabel x) + | CastThenBr(_, Mark x) -> sprintf "CastThenBr L%s" (formatCodeLabel x) | LeaveHandler _ -> "LeaveHandler" | EndFilter -> "EndFilter" @@ -3286,6 +3294,15 @@ and GenSequel cenv cloc cgbuf sequel = CG.EmitInstr cgbuf (pop 0) Push0 (I_br x.CodeLabel) + | CastThenBr(ilTy, x) -> + CG.EmitInstr cgbuf (pop 1) (Push [ ilTy ]) (I_castclass ilTy) + + if cgbuf.mgbuf.cenv.options.generateDebugSymbols then + cgbuf.EmitStartOfHiddenCode() + CG.EmitInstr cgbuf (pop 0) Push0 AI_nop + + CG.EmitInstr cgbuf (pop 0) Push0 (I_br x.CodeLabel) + | LeaveHandler(isFinally, whereToSaveResultOpt, afterHandler, hasResult) -> if hasResult then if isFinally then @@ -3537,6 +3554,19 @@ and GenLinearExpr cenv cgbuf eenv expr sequel preSteps (contf: FakeUnit -> FakeU let sequelOnBranches, afterJoin, stackAfterJoin, sequelAfterJoin = GenJoinPoint cenv cgbuf "match" eenv ty m sequel + let sequelOnBranches = + match sequelOnBranches with + | Br mark when + isInterfaceTy cenv.g ty + && targets.Length > 1 + && targets + |> Array.forall (fun (TTarget(_, body, _)) -> + let bodyTy = tyOfExpr cenv.g body + not (isStructTy cenv.g bodyTy) && not (isUnitTy cenv.g bodyTy)) + -> + CastThenBr(GenType cenv m eenv.tyenv ty, mark) + | _ -> sequelOnBranches + // Stack: "stackAtTargets" is "stack prior to any match-testing" and also "stack at the start of each branch-RHS". // match-testing (dtrees) should not contribute to the stack. // Each branch-RHS (targets) may contribute to the stack, leaving it in the "stackAfterJoin" state, for the join point. @@ -4415,9 +4445,12 @@ and GenApp (cenv: cenv) cgbuf eenv (f, fty, tyargs, curriedArgs, m) sequel = let ilThisTy = GenType cenv m eenv.tyenv ty I_callconstraint(useICallVirt, isTailCall, ilThisTy, mspec, None) | _ -> - if newobj then I_newobj(mspec, None) - elif useICallVirt then I_callvirt(isTailCall, mspec, None) - else I_call(isTailCall, mspec, None) + if newobj then + I_newobj(mspec, None) + elif useICallVirt && boxity <> AsValue then + I_callvirt(isTailCall, mspec, None) + else + I_call(isTailCall, mspec, None) // ok, now we're ready to generate if isSuperInit || isSelfInit then @@ -4865,7 +4898,10 @@ and GenTryWith cenv cgbuf eenv (e1, valForFilter: Val, filterExpr, valForHandler GenTry cenv cgbuf eenv scopeMarks (e1, m, resTy, spTry) let seh = - if cenv.options.generateFilterBlocks || eligibleForFilter cenv filterExpr then + if + not eenv.insideFinallyOrFaultHandler + && (cenv.options.generateFilterBlocks || eligibleForFilter cenv filterExpr) + then let startOfFilter = CG.GenerateMark cgbuf "startOfFilter" let afterFilter = CG.GenerateDelayMark cgbuf "afterFilter" @@ -4986,7 +5022,13 @@ and GenTryFinally cenv cgbuf eenv (bodyExpr, handlerExpr, m, resTy, spTry, spFin | DebugPointAtFinally.No -> () let exitSequel = LeaveHandler(true, whereToSaveOpt, afterHandler, true) - GenExpr cenv cgbuf eenvinner handlerExpr exitSequel + + let eenvHandler = + { eenvinner with + insideFinallyOrFaultHandler = true + } + + GenExpr cenv cgbuf eenvHandler handlerExpr exitSequel let endOfHandler = CG.GenerateMark cgbuf "endOfHandler" let handlerMarks = (startOfHandler.CodeLabel, endOfHandler.CodeLabel) @@ -5494,7 +5536,7 @@ and GenILCall let ilObjArgTy = GenType cenv m eenv.tyenv objArgTy I_callconstraint(useICallVirt, tail, ilObjArgTy, ilMethSpec, None) | None -> - if useICallVirt then + if useICallVirt && not valu then I_callvirt(tail, ilMethSpec, None) else I_call(tail, ilMethSpec, None) @@ -6351,8 +6393,17 @@ and GenStructStateMachine cenv cgbuf eenvouter (res: LoweredStateMachine) sequel CG.EmitInstr cgbuf (pop 0) (Push [ ilMachineAddrTy ]) (I_ldloca(uint16 locIdx)) CG.EmitInstr cgbuf (pop 1) (Push []) (I_stloc(uint16 locIdx2)) - // Initialize the closure variables - for fv, ilv in Seq.zip cloFreeVars cloinfo.ilCloAllFreeVars do + // Initialize witness closure variables (these come first in ilCloAllFreeVars) + let nWitnesses = cloinfo.cloWitnessInfos.Length + + for i in 0 .. nWitnesses - 1 do + let ilv = cloinfo.ilCloAllFreeVars.[i] + CG.EmitInstr cgbuf (pop 0) (Push [ ilMachineAddrTy ]) (I_ldloc(uint16 locIdx2)) + GenWitnessArgFromWitnessInfo cenv cgbuf eenvouter m cloinfo.cloWitnessInfos.[i] + CG.EmitInstr cgbuf (pop 2) (Push []) (mkNormalStfld (mkILFieldSpecInTy (ilCloTy, ilv.fvName, ilv.fvType))) + + // Initialize the regular closure variables (skip witness entries in ilCloAllFreeVars) + for fv, ilv in Seq.zip cloFreeVars (cloinfo.ilCloAllFreeVars |> Seq.skip nWitnesses) do if stateVarsSet.Contains fv then // zero-initialize the state var if realloc then @@ -7413,6 +7464,7 @@ and IsSequelImmediate sequel = | Return | ReturnVoid | Br _ + | CastThenBr _ | LeaveHandler _ -> true | DiscardThen sequel -> IsSequelImmediate sequel | _ -> false @@ -7448,7 +7500,7 @@ and GenJoinPoint cenv cgbuf pos eenv ty m sequel = let pushed = GenType cenv m eenv.tyenv ty let stackAfterJoin = (pushed :: cgbuf.GetCurrentStack()) let afterJoin = CG.GenerateDelayMark cgbuf (pos + "_join") - // go to the join point + Br afterJoin, afterJoin, stackAfterJoin, sequel // Accumulate the decision graph as we go @@ -12103,6 +12155,7 @@ let GetEmptyIlxGenEnv (g: TcGlobals) ccu = innerVals = [] sigToImplRemapInfo = [] (* "module remap info" *) withinSEH = false + insideFinallyOrFaultHandler = false isInLoop = false initLocals = true imports = None diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputedCollections/ForXInArray_ToArray.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputedCollections/ForXInArray_ToArray.fs.il.bsl index f0ff9a65a6e..19ba4afb086 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputedCollections/ForXInArray_ToArray.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputedCollections/ForXInArray_ToArray.fs.il.bsl @@ -1679,32 +1679,32 @@ IL_000e: stloc.1 IL_000f: ldc.i4.0 IL_0010: stloc.2 - IL_0011: br.s IL_0027 + IL_0011: br.s IL_0023 IL_0013: ldloc.1 IL_0014: ldloc.2 IL_0015: ldloc.0 IL_0016: ldloc.2 - IL_0017: ldelem [runtime]System.Boolean - IL_001c: stloc.3 - IL_001d: ldloc.3 - IL_001e: brfalse.s IL_0020 + IL_0017: ldelem.u1 + IL_0018: stloc.3 + IL_0019: ldloc.3 + IL_001a: brfalse.s IL_001c - IL_0020: ldc.i4.0 - IL_0021: nop - IL_0022: stelem.i4 + IL_001c: ldc.i4.0 + IL_001d: nop + IL_001e: stelem.i4 + IL_001f: ldloc.2 + IL_0020: ldc.i4.1 + IL_0021: add + IL_0022: stloc.2 IL_0023: ldloc.2 - IL_0024: ldc.i4.1 - IL_0025: add - IL_0026: stloc.2 - IL_0027: ldloc.2 - IL_0028: ldloc.1 - IL_0029: ldlen - IL_002a: conv.i4 - IL_002b: blt.s IL_0013 + IL_0024: ldloc.1 + IL_0025: ldlen + IL_0026: conv.i4 + IL_0027: blt.s IL_0013 - IL_002d: ldloc.1 - IL_002e: ret + IL_0029: ldloc.1 + IL_002a: ret } .method public static int32[] 'for true | _ in ...'() cil managed @@ -1724,32 +1724,32 @@ IL_000e: stloc.1 IL_000f: ldc.i4.0 IL_0010: stloc.2 - IL_0011: br.s IL_0027 + IL_0011: br.s IL_0023 IL_0013: ldloc.1 IL_0014: ldloc.2 IL_0015: ldloc.0 IL_0016: ldloc.2 - IL_0017: ldelem [runtime]System.Boolean - IL_001c: stloc.3 - IL_001d: ldloc.3 - IL_001e: brfalse.s IL_0020 + IL_0017: ldelem.u1 + IL_0018: stloc.3 + IL_0019: ldloc.3 + IL_001a: brfalse.s IL_001c - IL_0020: ldc.i4.0 - IL_0021: nop - IL_0022: stelem.i4 + IL_001c: ldc.i4.0 + IL_001d: nop + IL_001e: stelem.i4 + IL_001f: ldloc.2 + IL_0020: ldc.i4.1 + IL_0021: add + IL_0022: stloc.2 IL_0023: ldloc.2 - IL_0024: ldc.i4.1 - IL_0025: add - IL_0026: stloc.2 - IL_0027: ldloc.2 - IL_0028: ldloc.1 - IL_0029: ldlen - IL_002a: conv.i4 - IL_002b: blt.s IL_0013 + IL_0024: ldloc.1 + IL_0025: ldlen + IL_0026: conv.i4 + IL_0027: blt.s IL_0013 - IL_002d: ldloc.1 - IL_002e: ret + IL_0029: ldloc.1 + IL_002a: ret } .method public static int32[] 'for _ | true in ...'() cil managed @@ -2340,4 +2340,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index a0af1067d16..d4e0e1c0c90 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -54,27 +44,27 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0016 + IL_0004: br.s IL_0012 IL_0006: ldarg.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldloc.0 - IL_000f: ldloc.2 + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldloc.0 + IL_000b: ldloc.2 + IL_000c: add + IL_000d: stloc.0 + IL_000e: ldloc.1 + IL_000f: ldc.i4.1 IL_0010: add - IL_0011: stloc.0 + IL_0011: stloc.1 IL_0012: ldloc.1 - IL_0013: ldc.i4.1 - IL_0014: add - IL_0015: stloc.1 - IL_0016: ldloc.1 - IL_0017: ldarg.0 - IL_0018: ldlen - IL_0019: conv.i4 - IL_001a: blt.s IL_0006 - - IL_001c: ret + IL_0013: ldarg.0 + IL_0014: ldlen + IL_0015: conv.i4 + IL_0016: blt.s IL_0006 + + IL_0018: ret } } @@ -96,4 +86,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index a0af1067d16..d4e0e1c0c90 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -54,27 +44,27 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0016 + IL_0004: br.s IL_0012 IL_0006: ldarg.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldloc.0 - IL_000f: ldloc.2 + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldloc.0 + IL_000b: ldloc.2 + IL_000c: add + IL_000d: stloc.0 + IL_000e: ldloc.1 + IL_000f: ldc.i4.1 IL_0010: add - IL_0011: stloc.0 + IL_0011: stloc.1 IL_0012: ldloc.1 - IL_0013: ldc.i4.1 - IL_0014: add - IL_0015: stloc.1 - IL_0016: ldloc.1 - IL_0017: ldarg.0 - IL_0018: ldlen - IL_0019: conv.i4 - IL_001a: blt.s IL_0006 - - IL_001c: ret + IL_0013: ldarg.0 + IL_0014: ldlen + IL_0015: conv.i4 + IL_0016: blt.s IL_0006 + + IL_0018: ret } } @@ -96,4 +86,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 6a5f1aabbdc..0d0b1ad1645 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -62,7 +52,7 @@ IL_000c: stloc.2 IL_000d: ldloc.2 IL_000e: ldloc.3 - IL_000f: blt.s IL_0027 + IL_000f: blt.s IL_0023 IL_0011: ldloc.1 IL_0012: ldc.i4.1 @@ -71,19 +61,19 @@ IL_0015: ldloc.0 IL_0016: ldloc.1 IL_0017: ldloc.3 - IL_0018: stelem [runtime]System.Int32 + IL_0018: stelem.i4 + IL_0019: ldloc.3 + IL_001a: ldc.i4.1 + IL_001b: add + IL_001c: stloc.3 IL_001d: ldloc.3 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: stloc.3 - IL_0021: ldloc.3 - IL_0022: ldloc.2 - IL_0023: ldc.i4.1 - IL_0024: add - IL_0025: bne.un.s IL_0011 - - IL_0027: ldloc.0 - IL_0028: ret + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: bne.un.s IL_0011 + + IL_0023: ldloc.0 + IL_0024: ret } } @@ -105,4 +95,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index 6a5f1aabbdc..0d0b1ad1645 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -62,7 +52,7 @@ IL_000c: stloc.2 IL_000d: ldloc.2 IL_000e: ldloc.3 - IL_000f: blt.s IL_0027 + IL_000f: blt.s IL_0023 IL_0011: ldloc.1 IL_0012: ldc.i4.1 @@ -71,19 +61,19 @@ IL_0015: ldloc.0 IL_0016: ldloc.1 IL_0017: ldloc.3 - IL_0018: stelem [runtime]System.Int32 + IL_0018: stelem.i4 + IL_0019: ldloc.3 + IL_001a: ldc.i4.1 + IL_001b: add + IL_001c: stloc.3 IL_001d: ldloc.3 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: stloc.3 - IL_0021: ldloc.3 - IL_0022: ldloc.2 - IL_0023: ldc.i4.1 - IL_0024: add - IL_0025: bne.un.s IL_0011 - - IL_0027: ldloc.0 - IL_0028: ret + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: bne.un.s IL_0011 + + IL_0023: ldloc.0 + IL_0024: ret } } @@ -105,4 +95,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOff.il.bsl index 0689c964faf..fa3fc55d025 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOff.il.bsl @@ -123,47 +123,47 @@ IL_0040: stloc.2 IL_0041: ldloc.2 IL_0042: ldloc.3 - IL_0043: blt.s IL_0071 + IL_0043: blt.s IL_0065 IL_0045: call int32[] assembly::get_r() IL_004a: ldloc.3 IL_004b: call int32[] assembly::get_r() IL_0050: ldloc.3 - IL_0051: ldelem [runtime]System.Int32 - IL_0056: call int32[] assembly::get_w() + IL_0051: ldelem.i4 + IL_0052: call int32[] assembly::get_w() + IL_0057: ldloc.3 + IL_0058: ldelem.i4 + IL_0059: add + IL_005a: stelem.i4 IL_005b: ldloc.3 - IL_005c: ldelem [runtime]System.Int32 - IL_0061: add - IL_0062: stelem [runtime]System.Int32 - IL_0067: ldloc.3 - IL_0068: ldc.i4.1 - IL_0069: add - IL_006a: stloc.3 - IL_006b: ldloc.3 - IL_006c: ldloc.2 - IL_006d: ldc.i4.1 - IL_006e: add - IL_006f: bne.un.s IL_0045 - - IL_0071: nop + IL_005c: ldc.i4.1 + IL_005d: add + IL_005e: stloc.3 + IL_005f: ldloc.3 + IL_0060: ldloc.2 + IL_0061: ldc.i4.1 + IL_0062: add + IL_0063: bne.un.s IL_0045 + + IL_0065: nop + IL_0066: nop + IL_0067: call int32[] assembly::get_r() + IL_006c: ldc.i4.0 + IL_006d: ldelem.i4 + IL_006e: ldc.i4.3 + IL_006f: bne.un.s IL_0075 + + IL_0071: ldc.i4.0 IL_0072: nop - IL_0073: call int32[] assembly::get_r() - IL_0078: ldc.i4.0 - IL_0079: ldelem [runtime]System.Int32 - IL_007e: ldc.i4.3 - IL_007f: bne.un.s IL_0085 - - IL_0081: ldc.i4.0 - IL_0082: nop - IL_0083: br.s IL_0087 - - IL_0085: ldc.i4.1 - IL_0086: nop - IL_0087: stloc.s V_6 - IL_0089: ldloc.s V_6 - IL_008b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0090: pop - IL_0091: ret + IL_0073: br.s IL_0077 + + IL_0075: ldc.i4.1 + IL_0076: nop + IL_0077: stloc.s V_6 + IL_0079: ldloc.s V_6 + IL_007b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0080: pop + IL_0081: ret } } @@ -172,4 +172,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 7e035bf8d61..fb46aa57c78 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -126,45 +116,45 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: blt.s IL_0067 + IL_0039: blt.s IL_005b IL_003b: call int32[] assembly::get_r() IL_0040: ldloc.1 IL_0041: call int32[] assembly::get_r() IL_0046: ldloc.1 - IL_0047: ldelem [runtime]System.Int32 - IL_004c: call int32[] assembly::get_w() + IL_0047: ldelem.i4 + IL_0048: call int32[] assembly::get_w() + IL_004d: ldloc.1 + IL_004e: ldelem.i4 + IL_004f: add + IL_0050: stelem.i4 IL_0051: ldloc.1 - IL_0052: ldelem [runtime]System.Int32 - IL_0057: add - IL_0058: stelem [runtime]System.Int32 - IL_005d: ldloc.1 - IL_005e: ldc.i4.1 - IL_005f: add - IL_0060: stloc.1 - IL_0061: ldloc.1 - IL_0062: ldloc.0 - IL_0063: ldc.i4.1 - IL_0064: add - IL_0065: bne.un.s IL_003b - - IL_0067: nop + IL_0052: ldc.i4.1 + IL_0053: add + IL_0054: stloc.1 + IL_0055: ldloc.1 + IL_0056: ldloc.0 + IL_0057: ldc.i4.1 + IL_0058: add + IL_0059: bne.un.s IL_003b + + IL_005b: nop + IL_005c: nop + IL_005d: call int32[] assembly::get_r() + IL_0062: ldc.i4.0 + IL_0063: ldelem.i4 + IL_0064: ldc.i4.3 + IL_0065: bne.un.s IL_006b + + IL_0067: ldc.i4.0 IL_0068: nop - IL_0069: call int32[] assembly::get_r() - IL_006e: ldc.i4.0 - IL_006f: ldelem [runtime]System.Int32 - IL_0074: ldc.i4.3 - IL_0075: bne.un.s IL_007b - - IL_0077: ldc.i4.0 - IL_0078: nop - IL_0079: br.s IL_007d - - IL_007b: ldc.i4.1 - IL_007c: nop - IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0082: pop - IL_0083: ret + IL_0069: br.s IL_006d + + IL_006b: ldc.i4.1 + IL_006c: nop + IL_006d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0072: pop + IL_0073: ret } } @@ -173,4 +163,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOff.il.bsl index 813692fac56..5b4c53fb3c3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOff.il.bsl @@ -108,47 +108,47 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: blt.s IL_0067 + IL_0039: blt.s IL_005b IL_003b: call int32[] assembly::get_r() IL_0040: ldloc.1 IL_0041: call int32[] assembly::get_r() IL_0046: ldloc.1 - IL_0047: ldelem [runtime]System.Int32 - IL_004c: call int32[] assembly::get_w() + IL_0047: ldelem.i4 + IL_0048: call int32[] assembly::get_w() + IL_004d: ldloc.1 + IL_004e: ldelem.i4 + IL_004f: add + IL_0050: stelem.i4 IL_0051: ldloc.1 - IL_0052: ldelem [runtime]System.Int32 - IL_0057: add - IL_0058: stelem [runtime]System.Int32 - IL_005d: ldloc.1 - IL_005e: ldc.i4.1 - IL_005f: add - IL_0060: stloc.1 - IL_0061: ldloc.1 - IL_0062: ldloc.0 - IL_0063: ldc.i4.1 - IL_0064: add - IL_0065: bne.un.s IL_003b - - IL_0067: nop + IL_0052: ldc.i4.1 + IL_0053: add + IL_0054: stloc.1 + IL_0055: ldloc.1 + IL_0056: ldloc.0 + IL_0057: ldc.i4.1 + IL_0058: add + IL_0059: bne.un.s IL_003b + + IL_005b: nop + IL_005c: nop + IL_005d: call int32[] assembly::get_r() + IL_0062: ldc.i4.0 + IL_0063: ldelem.i4 + IL_0064: ldc.i4.3 + IL_0065: bne.un.s IL_006b + + IL_0067: ldc.i4.0 IL_0068: nop - IL_0069: call int32[] assembly::get_r() - IL_006e: ldc.i4.0 - IL_006f: ldelem [runtime]System.Int32 - IL_0074: ldc.i4.3 - IL_0075: bne.un.s IL_007b - - IL_0077: ldc.i4.0 - IL_0078: nop - IL_0079: br.s IL_007d - - IL_007b: ldc.i4.1 - IL_007c: nop - IL_007d: stloc.s V_4 - IL_007f: ldloc.s V_4 - IL_0081: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0086: pop - IL_0087: ret + IL_0069: br.s IL_006d + + IL_006b: ldc.i4.1 + IL_006c: nop + IL_006d: stloc.s V_4 + IL_006f: ldloc.s V_4 + IL_0071: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0076: pop + IL_0077: ret } .property int32[] r() @@ -185,4 +185,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index fd8662b1ca5..971a666a343 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -117,45 +107,45 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: blt.s IL_0067 + IL_0039: blt.s IL_005b IL_003b: call int32[] assembly::get_r() IL_0040: ldloc.1 IL_0041: call int32[] assembly::get_r() IL_0046: ldloc.1 - IL_0047: ldelem [runtime]System.Int32 - IL_004c: call int32[] assembly::get_w() + IL_0047: ldelem.i4 + IL_0048: call int32[] assembly::get_w() + IL_004d: ldloc.1 + IL_004e: ldelem.i4 + IL_004f: add + IL_0050: stelem.i4 IL_0051: ldloc.1 - IL_0052: ldelem [runtime]System.Int32 - IL_0057: add - IL_0058: stelem [runtime]System.Int32 - IL_005d: ldloc.1 - IL_005e: ldc.i4.1 - IL_005f: add - IL_0060: stloc.1 - IL_0061: ldloc.1 - IL_0062: ldloc.0 - IL_0063: ldc.i4.1 - IL_0064: add - IL_0065: bne.un.s IL_003b - - IL_0067: nop + IL_0052: ldc.i4.1 + IL_0053: add + IL_0054: stloc.1 + IL_0055: ldloc.1 + IL_0056: ldloc.0 + IL_0057: ldc.i4.1 + IL_0058: add + IL_0059: bne.un.s IL_003b + + IL_005b: nop + IL_005c: nop + IL_005d: call int32[] assembly::get_r() + IL_0062: ldc.i4.0 + IL_0063: ldelem.i4 + IL_0064: ldc.i4.3 + IL_0065: bne.un.s IL_006b + + IL_0067: ldc.i4.0 IL_0068: nop - IL_0069: call int32[] assembly::get_r() - IL_006e: ldc.i4.0 - IL_006f: ldelem [runtime]System.Int32 - IL_0074: ldc.i4.3 - IL_0075: bne.un.s IL_007b - - IL_0077: ldc.i4.0 - IL_0078: nop - IL_0079: br.s IL_007d - - IL_007b: ldc.i4.1 - IL_007c: nop - IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0082: pop - IL_0083: ret + IL_0069: br.s IL_006d + + IL_006b: ldc.i4.1 + IL_006c: nop + IL_006d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0072: pop + IL_0073: ret } .property int32[] r() @@ -192,4 +182,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOff.il.bsl index b86ee2d4a2c..6d8aec750c0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOff.il.bsl @@ -123,47 +123,47 @@ IL_0040: stloc.2 IL_0041: ldloc.2 IL_0042: ldloc.3 - IL_0043: bgt.s IL_0071 + IL_0043: bgt.s IL_0065 IL_0045: call int32[] assembly::get_r() IL_004a: ldloc.3 IL_004b: call int32[] assembly::get_r() IL_0050: ldloc.3 - IL_0051: ldelem [runtime]System.Int32 - IL_0056: call int32[] assembly::get_w() + IL_0051: ldelem.i4 + IL_0052: call int32[] assembly::get_w() + IL_0057: ldloc.3 + IL_0058: ldelem.i4 + IL_0059: add + IL_005a: stelem.i4 IL_005b: ldloc.3 - IL_005c: ldelem [runtime]System.Int32 - IL_0061: add - IL_0062: stelem [runtime]System.Int32 - IL_0067: ldloc.3 - IL_0068: ldc.i4.1 - IL_0069: sub - IL_006a: stloc.3 - IL_006b: ldloc.3 - IL_006c: ldloc.2 - IL_006d: ldc.i4.1 - IL_006e: sub - IL_006f: bne.un.s IL_0045 - - IL_0071: nop + IL_005c: ldc.i4.1 + IL_005d: sub + IL_005e: stloc.3 + IL_005f: ldloc.3 + IL_0060: ldloc.2 + IL_0061: ldc.i4.1 + IL_0062: sub + IL_0063: bne.un.s IL_0045 + + IL_0065: nop + IL_0066: nop + IL_0067: call int32[] assembly::get_r() + IL_006c: ldc.i4.0 + IL_006d: ldelem.i4 + IL_006e: ldc.i4.3 + IL_006f: bne.un.s IL_0075 + + IL_0071: ldc.i4.0 IL_0072: nop - IL_0073: call int32[] assembly::get_r() - IL_0078: ldc.i4.0 - IL_0079: ldelem [runtime]System.Int32 - IL_007e: ldc.i4.3 - IL_007f: bne.un.s IL_0085 - - IL_0081: ldc.i4.0 - IL_0082: nop - IL_0083: br.s IL_0087 - - IL_0085: ldc.i4.1 - IL_0086: nop - IL_0087: stloc.s V_6 - IL_0089: ldloc.s V_6 - IL_008b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0090: pop - IL_0091: ret + IL_0073: br.s IL_0077 + + IL_0075: ldc.i4.1 + IL_0076: nop + IL_0077: stloc.s V_6 + IL_0079: ldloc.s V_6 + IL_007b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0080: pop + IL_0081: ret } } @@ -172,4 +172,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 91f26499736..46991d7b3f7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -124,45 +114,45 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: bgt.s IL_0067 + IL_0039: bgt.s IL_005b IL_003b: call int32[] assembly::get_r() IL_0040: ldloc.1 IL_0041: call int32[] assembly::get_r() IL_0046: ldloc.1 - IL_0047: ldelem [runtime]System.Int32 - IL_004c: call int32[] assembly::get_w() + IL_0047: ldelem.i4 + IL_0048: call int32[] assembly::get_w() + IL_004d: ldloc.1 + IL_004e: ldelem.i4 + IL_004f: add + IL_0050: stelem.i4 IL_0051: ldloc.1 - IL_0052: ldelem [runtime]System.Int32 - IL_0057: add - IL_0058: stelem [runtime]System.Int32 - IL_005d: ldloc.1 - IL_005e: ldc.i4.1 - IL_005f: sub - IL_0060: stloc.1 - IL_0061: ldloc.1 - IL_0062: ldloc.0 - IL_0063: ldc.i4.1 - IL_0064: sub - IL_0065: bne.un.s IL_003b - - IL_0067: nop + IL_0052: ldc.i4.1 + IL_0053: sub + IL_0054: stloc.1 + IL_0055: ldloc.1 + IL_0056: ldloc.0 + IL_0057: ldc.i4.1 + IL_0058: sub + IL_0059: bne.un.s IL_003b + + IL_005b: nop + IL_005c: nop + IL_005d: call int32[] assembly::get_r() + IL_0062: ldc.i4.0 + IL_0063: ldelem.i4 + IL_0064: ldc.i4.3 + IL_0065: bne.un.s IL_006b + + IL_0067: ldc.i4.0 IL_0068: nop - IL_0069: call int32[] assembly::get_r() - IL_006e: ldc.i4.0 - IL_006f: ldelem [runtime]System.Int32 - IL_0074: ldc.i4.3 - IL_0075: bne.un.s IL_007b - - IL_0077: ldc.i4.0 - IL_0078: nop - IL_0079: br.s IL_007d - - IL_007b: ldc.i4.1 - IL_007c: nop - IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0082: pop - IL_0083: ret + IL_0069: br.s IL_006d + + IL_006b: ldc.i4.1 + IL_006c: nop + IL_006d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0072: pop + IL_0073: ret } } @@ -171,4 +161,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOff.il.bsl index 860527ca19e..288641de0ff 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOff.il.bsl @@ -108,47 +108,47 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: bgt.s IL_0067 + IL_0039: bgt.s IL_005b IL_003b: call int32[] assembly::get_r() IL_0040: ldloc.1 IL_0041: call int32[] assembly::get_r() IL_0046: ldloc.1 - IL_0047: ldelem [runtime]System.Int32 - IL_004c: call int32[] assembly::get_w() + IL_0047: ldelem.i4 + IL_0048: call int32[] assembly::get_w() + IL_004d: ldloc.1 + IL_004e: ldelem.i4 + IL_004f: add + IL_0050: stelem.i4 IL_0051: ldloc.1 - IL_0052: ldelem [runtime]System.Int32 - IL_0057: add - IL_0058: stelem [runtime]System.Int32 - IL_005d: ldloc.1 - IL_005e: ldc.i4.1 - IL_005f: sub - IL_0060: stloc.1 - IL_0061: ldloc.1 - IL_0062: ldloc.0 - IL_0063: ldc.i4.1 - IL_0064: sub - IL_0065: bne.un.s IL_003b - - IL_0067: nop + IL_0052: ldc.i4.1 + IL_0053: sub + IL_0054: stloc.1 + IL_0055: ldloc.1 + IL_0056: ldloc.0 + IL_0057: ldc.i4.1 + IL_0058: sub + IL_0059: bne.un.s IL_003b + + IL_005b: nop + IL_005c: nop + IL_005d: call int32[] assembly::get_r() + IL_0062: ldc.i4.0 + IL_0063: ldelem.i4 + IL_0064: ldc.i4.3 + IL_0065: bne.un.s IL_006b + + IL_0067: ldc.i4.0 IL_0068: nop - IL_0069: call int32[] assembly::get_r() - IL_006e: ldc.i4.0 - IL_006f: ldelem [runtime]System.Int32 - IL_0074: ldc.i4.3 - IL_0075: bne.un.s IL_007b - - IL_0077: ldc.i4.0 - IL_0078: nop - IL_0079: br.s IL_007d - - IL_007b: ldc.i4.1 - IL_007c: nop - IL_007d: stloc.s V_4 - IL_007f: ldloc.s V_4 - IL_0081: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0086: pop - IL_0087: ret + IL_0069: br.s IL_006d + + IL_006b: ldc.i4.1 + IL_006c: nop + IL_006d: stloc.s V_4 + IL_006f: ldloc.s V_4 + IL_0071: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0076: pop + IL_0077: ret } .property int32[] r() @@ -185,4 +185,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index f89292af139..e636e439fa5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -115,45 +105,45 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: bgt.s IL_0067 + IL_0039: bgt.s IL_005b IL_003b: call int32[] assembly::get_r() IL_0040: ldloc.1 IL_0041: call int32[] assembly::get_r() IL_0046: ldloc.1 - IL_0047: ldelem [runtime]System.Int32 - IL_004c: call int32[] assembly::get_w() + IL_0047: ldelem.i4 + IL_0048: call int32[] assembly::get_w() + IL_004d: ldloc.1 + IL_004e: ldelem.i4 + IL_004f: add + IL_0050: stelem.i4 IL_0051: ldloc.1 - IL_0052: ldelem [runtime]System.Int32 - IL_0057: add - IL_0058: stelem [runtime]System.Int32 - IL_005d: ldloc.1 - IL_005e: ldc.i4.1 - IL_005f: sub - IL_0060: stloc.1 - IL_0061: ldloc.1 - IL_0062: ldloc.0 - IL_0063: ldc.i4.1 - IL_0064: sub - IL_0065: bne.un.s IL_003b - - IL_0067: nop + IL_0052: ldc.i4.1 + IL_0053: sub + IL_0054: stloc.1 + IL_0055: ldloc.1 + IL_0056: ldloc.0 + IL_0057: ldc.i4.1 + IL_0058: sub + IL_0059: bne.un.s IL_003b + + IL_005b: nop + IL_005c: nop + IL_005d: call int32[] assembly::get_r() + IL_0062: ldc.i4.0 + IL_0063: ldelem.i4 + IL_0064: ldc.i4.3 + IL_0065: bne.un.s IL_006b + + IL_0067: ldc.i4.0 IL_0068: nop - IL_0069: call int32[] assembly::get_r() - IL_006e: ldc.i4.0 - IL_006f: ldelem [runtime]System.Int32 - IL_0074: ldc.i4.3 - IL_0075: bne.un.s IL_007b - - IL_0077: ldc.i4.0 - IL_0078: nop - IL_0079: br.s IL_007d - - IL_007b: ldc.i4.1 - IL_007c: nop - IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0082: pop - IL_0083: ret + IL_0069: br.s IL_006d + + IL_006b: ldc.i4.1 + IL_006c: nop + IL_006d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0072: pop + IL_0073: ret } .property int32[] r() @@ -190,4 +180,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOff.il.bsl index 1c526104b4f..cd3877d6b9e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOff.il.bsl @@ -173,7 +173,7 @@ IL_0080: ldloc.2 IL_0081: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0086: stloc.s V_10 - IL_0088: br.s IL_00c2 + IL_0088: br.s IL_00b6 IL_008a: ldloc.2 IL_008b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -182,39 +182,39 @@ IL_0097: ldloc.s V_11 IL_0099: call int32[] assembly::get_r() IL_009e: ldloc.s V_11 - IL_00a0: ldelem [runtime]System.Int32 - IL_00a5: call int32[] assembly::get_w() - IL_00aa: ldloc.s V_11 - IL_00ac: ldelem [runtime]System.Int32 - IL_00b1: add - IL_00b2: stelem [runtime]System.Int32 - IL_00b7: ldloc.s V_10 - IL_00b9: stloc.2 - IL_00ba: ldloc.2 - IL_00bb: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00c0: stloc.s V_10 - IL_00c2: ldloc.s V_10 - IL_00c4: brtrue.s IL_008a - - IL_00c6: nop + IL_00a0: ldelem.i4 + IL_00a1: call int32[] assembly::get_w() + IL_00a6: ldloc.s V_11 + IL_00a8: ldelem.i4 + IL_00a9: add + IL_00aa: stelem.i4 + IL_00ab: ldloc.s V_10 + IL_00ad: stloc.2 + IL_00ae: ldloc.2 + IL_00af: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00b4: stloc.s V_10 + IL_00b6: ldloc.s V_10 + IL_00b8: brtrue.s IL_008a + + IL_00ba: nop + IL_00bb: nop + IL_00bc: call int32[] assembly::get_r() + IL_00c1: ldc.i4.0 + IL_00c2: ldelem.i4 + IL_00c3: ldc.i4.3 + IL_00c4: bne.un.s IL_00ca + + IL_00c6: ldc.i4.0 IL_00c7: nop - IL_00c8: call int32[] assembly::get_r() - IL_00cd: ldc.i4.0 - IL_00ce: ldelem [runtime]System.Int32 - IL_00d3: ldc.i4.3 - IL_00d4: bne.un.s IL_00da - - IL_00d6: ldc.i4.0 - IL_00d7: nop - IL_00d8: br.s IL_00dc - - IL_00da: ldc.i4.1 - IL_00db: nop - IL_00dc: stloc.s V_12 - IL_00de: ldloc.s V_12 - IL_00e0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00e5: pop - IL_00e6: ret + IL_00c8: br.s IL_00cc + + IL_00ca: ldc.i4.1 + IL_00cb: nop + IL_00cc: stloc.s V_12 + IL_00ce: ldloc.s V_12 + IL_00d0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00d5: pop + IL_00d6: ret } } @@ -223,4 +223,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 618ba09189f..abe62238ce6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -253,7 +243,7 @@ IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_0091: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0096: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::next@9 - IL_009b: br.s IL_00e3 + IL_009b: br.s IL_00d7 IL_009d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_00a2: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -262,37 +252,37 @@ IL_00ad: ldloc.0 IL_00ae: call int32[] assembly::get_r() IL_00b3: ldloc.0 - IL_00b4: ldelem [runtime]System.Int32 - IL_00b9: call int32[] assembly::get_w() - IL_00be: ldloc.0 - IL_00bf: ldelem [runtime]System.Int32 - IL_00c4: add - IL_00c5: stelem [runtime]System.Int32 - IL_00ca: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00cf: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00d4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() - IL_00d9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00de: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00e3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00e8: brtrue.s IL_009d - - IL_00ea: nop + IL_00b4: ldelem.i4 + IL_00b5: call int32[] assembly::get_w() + IL_00ba: ldloc.0 + IL_00bb: ldelem.i4 + IL_00bc: add + IL_00bd: stelem.i4 + IL_00be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00c3: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00cd: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00d2: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00dc: brtrue.s IL_009d + + IL_00de: nop + IL_00df: nop + IL_00e0: call int32[] assembly::get_r() + IL_00e5: ldc.i4.0 + IL_00e6: ldelem.i4 + IL_00e7: ldc.i4.3 + IL_00e8: bne.un.s IL_00ee + + IL_00ea: ldc.i4.0 IL_00eb: nop - IL_00ec: call int32[] assembly::get_r() - IL_00f1: ldc.i4.0 - IL_00f2: ldelem [runtime]System.Int32 - IL_00f7: ldc.i4.3 - IL_00f8: bne.un.s IL_00fe - - IL_00fa: ldc.i4.0 - IL_00fb: nop - IL_00fc: br.s IL_0100 - - IL_00fe: ldc.i4.1 - IL_00ff: nop - IL_0100: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0105: pop - IL_0106: ret + IL_00ec: br.s IL_00f0 + + IL_00ee: ldc.i4.1 + IL_00ef: nop + IL_00f0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00f5: pop + IL_00f6: ret } } @@ -301,4 +291,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOff.il.bsl index c8c389a198a..9481d05f3c6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOff.il.bsl @@ -158,7 +158,7 @@ IL_0076: ldloc.0 IL_0077: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_007c: stloc.s V_8 - IL_007e: br.s IL_00b8 + IL_007e: br.s IL_00ac IL_0080: ldloc.0 IL_0081: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -167,39 +167,39 @@ IL_008d: ldloc.s V_9 IL_008f: call int32[] assembly::get_r() IL_0094: ldloc.s V_9 - IL_0096: ldelem [runtime]System.Int32 - IL_009b: call int32[] assembly::get_w() - IL_00a0: ldloc.s V_9 - IL_00a2: ldelem [runtime]System.Int32 - IL_00a7: add - IL_00a8: stelem [runtime]System.Int32 - IL_00ad: ldloc.s V_8 - IL_00af: stloc.0 - IL_00b0: ldloc.0 - IL_00b1: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00b6: stloc.s V_8 - IL_00b8: ldloc.s V_8 - IL_00ba: brtrue.s IL_0080 - - IL_00bc: nop + IL_0096: ldelem.i4 + IL_0097: call int32[] assembly::get_w() + IL_009c: ldloc.s V_9 + IL_009e: ldelem.i4 + IL_009f: add + IL_00a0: stelem.i4 + IL_00a1: ldloc.s V_8 + IL_00a3: stloc.0 + IL_00a4: ldloc.0 + IL_00a5: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00aa: stloc.s V_8 + IL_00ac: ldloc.s V_8 + IL_00ae: brtrue.s IL_0080 + + IL_00b0: nop + IL_00b1: nop + IL_00b2: call int32[] assembly::get_r() + IL_00b7: ldc.i4.0 + IL_00b8: ldelem.i4 + IL_00b9: ldc.i4.3 + IL_00ba: bne.un.s IL_00c0 + + IL_00bc: ldc.i4.0 IL_00bd: nop - IL_00be: call int32[] assembly::get_r() - IL_00c3: ldc.i4.0 - IL_00c4: ldelem [runtime]System.Int32 - IL_00c9: ldc.i4.3 - IL_00ca: bne.un.s IL_00d0 - - IL_00cc: ldc.i4.0 - IL_00cd: nop - IL_00ce: br.s IL_00d2 - - IL_00d0: ldc.i4.1 - IL_00d1: nop - IL_00d2: stloc.s V_10 - IL_00d4: ldloc.s V_10 - IL_00d6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00db: pop - IL_00dc: ret + IL_00be: br.s IL_00c2 + + IL_00c0: ldc.i4.1 + IL_00c1: nop + IL_00c2: stloc.s V_10 + IL_00c4: ldloc.s V_10 + IL_00c6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00cb: pop + IL_00cc: ret } .property int32[] r() @@ -236,4 +236,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index 7838a9c7d69..5eaed2d4f19 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -220,7 +210,7 @@ IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_0091: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0096: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 - IL_009b: br.s IL_00e3 + IL_009b: br.s IL_00d7 IL_009d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_00a2: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -229,37 +219,37 @@ IL_00ad: ldloc.0 IL_00ae: call int32[] assembly::get_r() IL_00b3: ldloc.0 - IL_00b4: ldelem [runtime]System.Int32 - IL_00b9: call int32[] assembly::get_w() - IL_00be: ldloc.0 - IL_00bf: ldelem [runtime]System.Int32 - IL_00c4: add - IL_00c5: stelem [runtime]System.Int32 - IL_00ca: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00cf: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00d4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() - IL_00d9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00de: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00e3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00e8: brtrue.s IL_009d - - IL_00ea: nop + IL_00b4: ldelem.i4 + IL_00b5: call int32[] assembly::get_w() + IL_00ba: ldloc.0 + IL_00bb: ldelem.i4 + IL_00bc: add + IL_00bd: stelem.i4 + IL_00be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00c3: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00cd: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00d2: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00dc: brtrue.s IL_009d + + IL_00de: nop + IL_00df: nop + IL_00e0: call int32[] assembly::get_r() + IL_00e5: ldc.i4.0 + IL_00e6: ldelem.i4 + IL_00e7: ldc.i4.3 + IL_00e8: bne.un.s IL_00ee + + IL_00ea: ldc.i4.0 IL_00eb: nop - IL_00ec: call int32[] assembly::get_r() - IL_00f1: ldc.i4.0 - IL_00f2: ldelem [runtime]System.Int32 - IL_00f7: ldc.i4.3 - IL_00f8: bne.un.s IL_00fe - - IL_00fa: ldc.i4.0 - IL_00fb: nop - IL_00fc: br.s IL_0100 - - IL_00fe: ldc.i4.1 - IL_00ff: nop - IL_0100: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0105: pop - IL_0106: ret + IL_00ec: br.s IL_00f0 + + IL_00ee: ldc.i4.1 + IL_00ef: nop + IL_00f0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00f5: pop + IL_00f6: ret } .property int32[] r() @@ -320,4 +310,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOff.il.bsl index 926e5db3845..b3846d77531 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOff.il.bsl @@ -173,7 +173,7 @@ IL_0080: ldloc.2 IL_0081: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0086: stloc.s V_10 - IL_0088: br.s IL_00c2 + IL_0088: br.s IL_00b6 IL_008a: ldloc.2 IL_008b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -182,39 +182,39 @@ IL_0097: ldloc.s V_11 IL_0099: call int32[] assembly::get_r() IL_009e: ldloc.s V_11 - IL_00a0: ldelem [runtime]System.Int32 - IL_00a5: call int32[] assembly::get_w() - IL_00aa: ldloc.s V_11 - IL_00ac: ldelem [runtime]System.Int32 - IL_00b1: add - IL_00b2: stelem [runtime]System.Int32 - IL_00b7: ldloc.s V_10 - IL_00b9: stloc.2 - IL_00ba: ldloc.2 - IL_00bb: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00c0: stloc.s V_10 - IL_00c2: ldloc.s V_10 - IL_00c4: brtrue.s IL_008a - - IL_00c6: nop + IL_00a0: ldelem.i4 + IL_00a1: call int32[] assembly::get_w() + IL_00a6: ldloc.s V_11 + IL_00a8: ldelem.i4 + IL_00a9: add + IL_00aa: stelem.i4 + IL_00ab: ldloc.s V_10 + IL_00ad: stloc.2 + IL_00ae: ldloc.2 + IL_00af: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00b4: stloc.s V_10 + IL_00b6: ldloc.s V_10 + IL_00b8: brtrue.s IL_008a + + IL_00ba: nop + IL_00bb: nop + IL_00bc: call int32[] assembly::get_r() + IL_00c1: ldc.i4.0 + IL_00c2: ldelem.i4 + IL_00c3: ldc.i4.3 + IL_00c4: bne.un.s IL_00ca + + IL_00c6: ldc.i4.0 IL_00c7: nop - IL_00c8: call int32[] assembly::get_r() - IL_00cd: ldc.i4.0 - IL_00ce: ldelem [runtime]System.Int32 - IL_00d3: ldc.i4.3 - IL_00d4: bne.un.s IL_00da - - IL_00d6: ldc.i4.0 - IL_00d7: nop - IL_00d8: br.s IL_00dc - - IL_00da: ldc.i4.1 - IL_00db: nop - IL_00dc: stloc.s V_12 - IL_00de: ldloc.s V_12 - IL_00e0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00e5: pop - IL_00e6: ret + IL_00c8: br.s IL_00cc + + IL_00ca: ldc.i4.1 + IL_00cb: nop + IL_00cc: stloc.s V_12 + IL_00ce: ldloc.s V_12 + IL_00d0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00d5: pop + IL_00d6: ret } } @@ -223,4 +223,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index cdb60cf3f61..13e37dbc512 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -253,7 +243,7 @@ IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_0091: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0096: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::next@9 - IL_009b: br.s IL_00e3 + IL_009b: br.s IL_00d7 IL_009d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_00a2: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -262,37 +252,37 @@ IL_00ad: ldloc.0 IL_00ae: call int32[] assembly::get_r() IL_00b3: ldloc.0 - IL_00b4: ldelem [runtime]System.Int32 - IL_00b9: call int32[] assembly::get_w() - IL_00be: ldloc.0 - IL_00bf: ldelem [runtime]System.Int32 - IL_00c4: add - IL_00c5: stelem [runtime]System.Int32 - IL_00ca: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00cf: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00d4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() - IL_00d9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00de: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00e3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00e8: brtrue.s IL_009d - - IL_00ea: nop + IL_00b4: ldelem.i4 + IL_00b5: call int32[] assembly::get_w() + IL_00ba: ldloc.0 + IL_00bb: ldelem.i4 + IL_00bc: add + IL_00bd: stelem.i4 + IL_00be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00c3: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00cd: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00d2: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00dc: brtrue.s IL_009d + + IL_00de: nop + IL_00df: nop + IL_00e0: call int32[] assembly::get_r() + IL_00e5: ldc.i4.0 + IL_00e6: ldelem.i4 + IL_00e7: ldc.i4.3 + IL_00e8: bne.un.s IL_00ee + + IL_00ea: ldc.i4.0 IL_00eb: nop - IL_00ec: call int32[] assembly::get_r() - IL_00f1: ldc.i4.0 - IL_00f2: ldelem [runtime]System.Int32 - IL_00f7: ldc.i4.3 - IL_00f8: bne.un.s IL_00fe - - IL_00fa: ldc.i4.0 - IL_00fb: nop - IL_00fc: br.s IL_0100 - - IL_00fe: ldc.i4.1 - IL_00ff: nop - IL_0100: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0105: pop - IL_0106: ret + IL_00ec: br.s IL_00f0 + + IL_00ee: ldc.i4.1 + IL_00ef: nop + IL_00f0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00f5: pop + IL_00f6: ret } } @@ -301,4 +291,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOff.il.bsl index dc19fd30e6e..90df5879111 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOff.il.bsl @@ -158,7 +158,7 @@ IL_0076: ldloc.0 IL_0077: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_007c: stloc.s V_8 - IL_007e: br.s IL_00b8 + IL_007e: br.s IL_00ac IL_0080: ldloc.0 IL_0081: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -167,39 +167,39 @@ IL_008d: ldloc.s V_9 IL_008f: call int32[] assembly::get_r() IL_0094: ldloc.s V_9 - IL_0096: ldelem [runtime]System.Int32 - IL_009b: call int32[] assembly::get_w() - IL_00a0: ldloc.s V_9 - IL_00a2: ldelem [runtime]System.Int32 - IL_00a7: add - IL_00a8: stelem [runtime]System.Int32 - IL_00ad: ldloc.s V_8 - IL_00af: stloc.0 - IL_00b0: ldloc.0 - IL_00b1: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00b6: stloc.s V_8 - IL_00b8: ldloc.s V_8 - IL_00ba: brtrue.s IL_0080 - - IL_00bc: nop + IL_0096: ldelem.i4 + IL_0097: call int32[] assembly::get_w() + IL_009c: ldloc.s V_9 + IL_009e: ldelem.i4 + IL_009f: add + IL_00a0: stelem.i4 + IL_00a1: ldloc.s V_8 + IL_00a3: stloc.0 + IL_00a4: ldloc.0 + IL_00a5: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00aa: stloc.s V_8 + IL_00ac: ldloc.s V_8 + IL_00ae: brtrue.s IL_0080 + + IL_00b0: nop + IL_00b1: nop + IL_00b2: call int32[] assembly::get_r() + IL_00b7: ldc.i4.0 + IL_00b8: ldelem.i4 + IL_00b9: ldc.i4.3 + IL_00ba: bne.un.s IL_00c0 + + IL_00bc: ldc.i4.0 IL_00bd: nop - IL_00be: call int32[] assembly::get_r() - IL_00c3: ldc.i4.0 - IL_00c4: ldelem [runtime]System.Int32 - IL_00c9: ldc.i4.3 - IL_00ca: bne.un.s IL_00d0 - - IL_00cc: ldc.i4.0 - IL_00cd: nop - IL_00ce: br.s IL_00d2 - - IL_00d0: ldc.i4.1 - IL_00d1: nop - IL_00d2: stloc.s V_10 - IL_00d4: ldloc.s V_10 - IL_00d6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00db: pop - IL_00dc: ret + IL_00be: br.s IL_00c2 + + IL_00c0: ldc.i4.1 + IL_00c1: nop + IL_00c2: stloc.s V_10 + IL_00c4: ldloc.s V_10 + IL_00c6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00cb: pop + IL_00cc: ret } .property int32[] r() @@ -236,4 +236,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index 33caf0bc8ca..b587873a3f1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -220,7 +210,7 @@ IL_008c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_0091: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() IL_0096: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 - IL_009b: br.s IL_00e3 + IL_009b: br.s IL_00d7 IL_009d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() IL_00a2: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() @@ -229,37 +219,37 @@ IL_00ad: ldloc.0 IL_00ae: call int32[] assembly::get_r() IL_00b3: ldloc.0 - IL_00b4: ldelem [runtime]System.Int32 - IL_00b9: call int32[] assembly::get_w() - IL_00be: ldloc.0 - IL_00bf: ldelem [runtime]System.Int32 - IL_00c4: add - IL_00c5: stelem [runtime]System.Int32 - IL_00ca: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00cf: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00d4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() - IL_00d9: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_00de: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_00e3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() - IL_00e8: brtrue.s IL_009d - - IL_00ea: nop + IL_00b4: ldelem.i4 + IL_00b5: call int32[] assembly::get_w() + IL_00ba: ldloc.0 + IL_00bb: ldelem.i4 + IL_00bc: add + IL_00bd: stelem.i4 + IL_00be: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00c3: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00cd: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00d2: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00dc: brtrue.s IL_009d + + IL_00de: nop + IL_00df: nop + IL_00e0: call int32[] assembly::get_r() + IL_00e5: ldc.i4.0 + IL_00e6: ldelem.i4 + IL_00e7: ldc.i4.3 + IL_00e8: bne.un.s IL_00ee + + IL_00ea: ldc.i4.0 IL_00eb: nop - IL_00ec: call int32[] assembly::get_r() - IL_00f1: ldc.i4.0 - IL_00f2: ldelem [runtime]System.Int32 - IL_00f7: ldc.i4.3 - IL_00f8: bne.un.s IL_00fe - - IL_00fa: ldc.i4.0 - IL_00fb: nop - IL_00fc: br.s IL_0100 - - IL_00fe: ldc.i4.1 - IL_00ff: nop - IL_0100: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0105: pop - IL_0106: ret + IL_00ec: br.s IL_00f0 + + IL_00ee: ldc.i4.1 + IL_00ef: nop + IL_00f0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00f5: pop + IL_00f6: ret } .property int32[] r() @@ -320,4 +310,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOff.il.bsl index a693bbf47b8..b25fee3d51f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOff.il.bsl @@ -127,7 +127,7 @@ IL_0040: stloc.2 IL_0041: ldloc.2 IL_0042: ldloc.3 - IL_0043: blt.s IL_00af + IL_0043: blt.s IL_00a3 IL_0045: ldc.i4.0 IL_0046: stloc.s V_7 @@ -154,57 +154,57 @@ IL_006a: stloc.s V_6 IL_006c: ldloc.s V_6 IL_006e: ldloc.s V_7 - IL_0070: blt.s IL_00a5 + IL_0070: blt.s IL_0099 IL_0072: call int32[] assembly::get_r() IL_0077: ldloc.s V_7 IL_0079: call int32[] assembly::get_r() IL_007e: ldloc.s V_7 - IL_0080: ldelem [runtime]System.Int32 - IL_0085: call int32[] assembly::get_w() - IL_008a: ldloc.s V_7 - IL_008c: ldelem [runtime]System.Int32 - IL_0091: add - IL_0092: stelem [runtime]System.Int32 - IL_0097: ldloc.s V_7 - IL_0099: ldc.i4.1 - IL_009a: add - IL_009b: stloc.s V_7 - IL_009d: ldloc.s V_7 - IL_009f: ldloc.s V_6 - IL_00a1: ldc.i4.1 - IL_00a2: add - IL_00a3: bne.un.s IL_0072 - - IL_00a5: ldloc.3 - IL_00a6: ldc.i4.1 - IL_00a7: add - IL_00a8: stloc.3 - IL_00a9: ldloc.3 - IL_00aa: ldloc.2 - IL_00ab: ldc.i4.1 - IL_00ac: add - IL_00ad: bne.un.s IL_0045 - - IL_00af: nop - IL_00b0: nop - IL_00b1: call int32[] assembly::get_r() - IL_00b6: ldc.i4.0 - IL_00b7: ldelem [runtime]System.Int32 - IL_00bc: ldc.i4.s 11 - IL_00be: bne.un.s IL_00c4 - - IL_00c0: ldc.i4.0 - IL_00c1: nop - IL_00c2: br.s IL_00c6 - - IL_00c4: ldc.i4.1 - IL_00c5: nop - IL_00c6: stloc.s V_10 - IL_00c8: ldloc.s V_10 - IL_00ca: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00cf: pop - IL_00d0: ret + IL_0080: ldelem.i4 + IL_0081: call int32[] assembly::get_w() + IL_0086: ldloc.s V_7 + IL_0088: ldelem.i4 + IL_0089: add + IL_008a: stelem.i4 + IL_008b: ldloc.s V_7 + IL_008d: ldc.i4.1 + IL_008e: add + IL_008f: stloc.s V_7 + IL_0091: ldloc.s V_7 + IL_0093: ldloc.s V_6 + IL_0095: ldc.i4.1 + IL_0096: add + IL_0097: bne.un.s IL_0072 + + IL_0099: ldloc.3 + IL_009a: ldc.i4.1 + IL_009b: add + IL_009c: stloc.3 + IL_009d: ldloc.3 + IL_009e: ldloc.2 + IL_009f: ldc.i4.1 + IL_00a0: add + IL_00a1: bne.un.s IL_0045 + + IL_00a3: nop + IL_00a4: nop + IL_00a5: call int32[] assembly::get_r() + IL_00aa: ldc.i4.0 + IL_00ab: ldelem.i4 + IL_00ac: ldc.i4.s 11 + IL_00ae: bne.un.s IL_00b4 + + IL_00b0: ldc.i4.0 + IL_00b1: nop + IL_00b2: br.s IL_00b6 + + IL_00b4: ldc.i4.1 + IL_00b5: nop + IL_00b6: stloc.s V_10 + IL_00b8: ldloc.s V_10 + IL_00ba: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00bf: pop + IL_00c0: ret } } @@ -213,4 +213,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 5aca7747bda..d73eb8dd2bc 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -128,7 +118,7 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: blt.s IL_009a + IL_0039: blt.s IL_008e IL_003b: ldc.i4.0 IL_003c: stloc.3 @@ -155,55 +145,55 @@ IL_005f: stloc.2 IL_0060: ldloc.2 IL_0061: ldloc.3 - IL_0062: blt.s IL_0090 + IL_0062: blt.s IL_0084 IL_0064: call int32[] assembly::get_r() IL_0069: ldloc.3 IL_006a: call int32[] assembly::get_r() IL_006f: ldloc.3 - IL_0070: ldelem [runtime]System.Int32 - IL_0075: call int32[] assembly::get_w() + IL_0070: ldelem.i4 + IL_0071: call int32[] assembly::get_w() + IL_0076: ldloc.3 + IL_0077: ldelem.i4 + IL_0078: add + IL_0079: stelem.i4 IL_007a: ldloc.3 - IL_007b: ldelem [runtime]System.Int32 - IL_0080: add - IL_0081: stelem [runtime]System.Int32 - IL_0086: ldloc.3 - IL_0087: ldc.i4.1 - IL_0088: add - IL_0089: stloc.3 - IL_008a: ldloc.3 - IL_008b: ldloc.2 - IL_008c: ldc.i4.1 - IL_008d: add - IL_008e: bne.un.s IL_0064 - - IL_0090: ldloc.1 - IL_0091: ldc.i4.1 - IL_0092: add - IL_0093: stloc.1 - IL_0094: ldloc.1 - IL_0095: ldloc.0 - IL_0096: ldc.i4.1 - IL_0097: add - IL_0098: bne.un.s IL_003b - - IL_009a: nop - IL_009b: nop - IL_009c: call int32[] assembly::get_r() - IL_00a1: ldc.i4.0 - IL_00a2: ldelem [runtime]System.Int32 - IL_00a7: ldc.i4.s 11 - IL_00a9: bne.un.s IL_00af - - IL_00ab: ldc.i4.0 - IL_00ac: nop - IL_00ad: br.s IL_00b1 - - IL_00af: ldc.i4.1 - IL_00b0: nop - IL_00b1: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00b6: pop - IL_00b7: ret + IL_007b: ldc.i4.1 + IL_007c: add + IL_007d: stloc.3 + IL_007e: ldloc.3 + IL_007f: ldloc.2 + IL_0080: ldc.i4.1 + IL_0081: add + IL_0082: bne.un.s IL_0064 + + IL_0084: ldloc.1 + IL_0085: ldc.i4.1 + IL_0086: add + IL_0087: stloc.1 + IL_0088: ldloc.1 + IL_0089: ldloc.0 + IL_008a: ldc.i4.1 + IL_008b: add + IL_008c: bne.un.s IL_003b + + IL_008e: nop + IL_008f: nop + IL_0090: call int32[] assembly::get_r() + IL_0095: ldc.i4.0 + IL_0096: ldelem.i4 + IL_0097: ldc.i4.s 11 + IL_0099: bne.un.s IL_009f + + IL_009b: ldc.i4.0 + IL_009c: nop + IL_009d: br.s IL_00a1 + + IL_009f: ldc.i4.1 + IL_00a0: nop + IL_00a1: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00a6: pop + IL_00a7: ret } } @@ -212,4 +202,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOff.il.bsl index a8c564901d3..9600546542d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOff.il.bsl @@ -112,7 +112,7 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: blt.s IL_00a5 + IL_0039: blt.s IL_0099 IL_003b: ldc.i4.0 IL_003c: stloc.s V_5 @@ -139,57 +139,57 @@ IL_0060: stloc.s V_4 IL_0062: ldloc.s V_4 IL_0064: ldloc.s V_5 - IL_0066: blt.s IL_009b + IL_0066: blt.s IL_008f IL_0068: call int32[] assembly::get_r() IL_006d: ldloc.s V_5 IL_006f: call int32[] assembly::get_r() IL_0074: ldloc.s V_5 - IL_0076: ldelem [runtime]System.Int32 - IL_007b: call int32[] assembly::get_w() - IL_0080: ldloc.s V_5 - IL_0082: ldelem [runtime]System.Int32 - IL_0087: add - IL_0088: stelem [runtime]System.Int32 - IL_008d: ldloc.s V_5 - IL_008f: ldc.i4.1 - IL_0090: add - IL_0091: stloc.s V_5 - IL_0093: ldloc.s V_5 - IL_0095: ldloc.s V_4 - IL_0097: ldc.i4.1 - IL_0098: add - IL_0099: bne.un.s IL_0068 - - IL_009b: ldloc.1 - IL_009c: ldc.i4.1 - IL_009d: add - IL_009e: stloc.1 - IL_009f: ldloc.1 - IL_00a0: ldloc.0 - IL_00a1: ldc.i4.1 - IL_00a2: add - IL_00a3: bne.un.s IL_003b - - IL_00a5: nop - IL_00a6: nop - IL_00a7: call int32[] assembly::get_r() - IL_00ac: ldc.i4.0 - IL_00ad: ldelem [runtime]System.Int32 - IL_00b2: ldc.i4.s 11 - IL_00b4: bne.un.s IL_00ba - - IL_00b6: ldc.i4.0 - IL_00b7: nop - IL_00b8: br.s IL_00bc - - IL_00ba: ldc.i4.1 - IL_00bb: nop - IL_00bc: stloc.s V_8 - IL_00be: ldloc.s V_8 - IL_00c0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00c5: pop - IL_00c6: ret + IL_0076: ldelem.i4 + IL_0077: call int32[] assembly::get_w() + IL_007c: ldloc.s V_5 + IL_007e: ldelem.i4 + IL_007f: add + IL_0080: stelem.i4 + IL_0081: ldloc.s V_5 + IL_0083: ldc.i4.1 + IL_0084: add + IL_0085: stloc.s V_5 + IL_0087: ldloc.s V_5 + IL_0089: ldloc.s V_4 + IL_008b: ldc.i4.1 + IL_008c: add + IL_008d: bne.un.s IL_0068 + + IL_008f: ldloc.1 + IL_0090: ldc.i4.1 + IL_0091: add + IL_0092: stloc.1 + IL_0093: ldloc.1 + IL_0094: ldloc.0 + IL_0095: ldc.i4.1 + IL_0096: add + IL_0097: bne.un.s IL_003b + + IL_0099: nop + IL_009a: nop + IL_009b: call int32[] assembly::get_r() + IL_00a0: ldc.i4.0 + IL_00a1: ldelem.i4 + IL_00a2: ldc.i4.s 11 + IL_00a4: bne.un.s IL_00aa + + IL_00a6: ldc.i4.0 + IL_00a7: nop + IL_00a8: br.s IL_00ac + + IL_00aa: ldc.i4.1 + IL_00ab: nop + IL_00ac: stloc.s V_8 + IL_00ae: ldloc.s V_8 + IL_00b0: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00b5: pop + IL_00b6: ret } .property int32[] r() @@ -226,4 +226,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index edd7456baca..26638c87294 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -119,7 +109,7 @@ IL_0036: stloc.0 IL_0037: ldloc.0 IL_0038: ldloc.1 - IL_0039: blt.s IL_009a + IL_0039: blt.s IL_008e IL_003b: ldc.i4.0 IL_003c: stloc.3 @@ -146,55 +136,55 @@ IL_005f: stloc.2 IL_0060: ldloc.2 IL_0061: ldloc.3 - IL_0062: blt.s IL_0090 + IL_0062: blt.s IL_0084 IL_0064: call int32[] assembly::get_r() IL_0069: ldloc.3 IL_006a: call int32[] assembly::get_r() IL_006f: ldloc.3 - IL_0070: ldelem [runtime]System.Int32 - IL_0075: call int32[] assembly::get_w() + IL_0070: ldelem.i4 + IL_0071: call int32[] assembly::get_w() + IL_0076: ldloc.3 + IL_0077: ldelem.i4 + IL_0078: add + IL_0079: stelem.i4 IL_007a: ldloc.3 - IL_007b: ldelem [runtime]System.Int32 - IL_0080: add - IL_0081: stelem [runtime]System.Int32 - IL_0086: ldloc.3 - IL_0087: ldc.i4.1 - IL_0088: add - IL_0089: stloc.3 - IL_008a: ldloc.3 - IL_008b: ldloc.2 - IL_008c: ldc.i4.1 - IL_008d: add - IL_008e: bne.un.s IL_0064 - - IL_0090: ldloc.1 - IL_0091: ldc.i4.1 - IL_0092: add - IL_0093: stloc.1 - IL_0094: ldloc.1 - IL_0095: ldloc.0 - IL_0096: ldc.i4.1 - IL_0097: add - IL_0098: bne.un.s IL_003b - - IL_009a: nop - IL_009b: nop - IL_009c: call int32[] assembly::get_r() - IL_00a1: ldc.i4.0 - IL_00a2: ldelem [runtime]System.Int32 - IL_00a7: ldc.i4.s 11 - IL_00a9: bne.un.s IL_00af - - IL_00ab: ldc.i4.0 - IL_00ac: nop - IL_00ad: br.s IL_00b1 - - IL_00af: ldc.i4.1 - IL_00b0: nop - IL_00b1: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_00b6: pop - IL_00b7: ret + IL_007b: ldc.i4.1 + IL_007c: add + IL_007d: stloc.3 + IL_007e: ldloc.3 + IL_007f: ldloc.2 + IL_0080: ldc.i4.1 + IL_0081: add + IL_0082: bne.un.s IL_0064 + + IL_0084: ldloc.1 + IL_0085: ldc.i4.1 + IL_0086: add + IL_0087: stloc.1 + IL_0088: ldloc.1 + IL_0089: ldloc.0 + IL_008a: ldc.i4.1 + IL_008b: add + IL_008c: bne.un.s IL_003b + + IL_008e: nop + IL_008f: nop + IL_0090: call int32[] assembly::get_r() + IL_0095: ldc.i4.0 + IL_0096: ldelem.i4 + IL_0097: ldc.i4.s 11 + IL_0099: bne.un.s IL_009f + + IL_009b: ldc.i4.0 + IL_009c: nop + IL_009d: br.s IL_00a1 + + IL_009f: ldc.i4.1 + IL_00a0: nop + IL_00a1: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00a6: pop + IL_00a7: ret } .property int32[] r() @@ -231,4 +221,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 1a3b630b6b2..eaf8a630df7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -50,23 +40,23 @@ .locals init (int32 V_0) IL_0000: ldc.i4.0 IL_0001: stloc.0 - IL_0002: br.s IL_0010 + IL_0002: br.s IL_000c IL_0004: ldarg.0 IL_0005: ldloc.0 IL_0006: ldloc.0 - IL_0007: stelem [runtime]System.Int32 + IL_0007: stelem.i4 + IL_0008: ldloc.0 + IL_0009: ldc.i4.1 + IL_000a: add + IL_000b: stloc.0 IL_000c: ldloc.0 - IL_000d: ldc.i4.1 - IL_000e: add - IL_000f: stloc.0 - IL_0010: ldloc.0 - IL_0011: ldarg.0 - IL_0012: ldlen - IL_0013: conv.i4 - IL_0014: blt.s IL_0004 - - IL_0016: ret + IL_000d: ldarg.0 + IL_000e: ldlen + IL_000f: conv.i4 + IL_0010: blt.s IL_0004 + + IL_0012: ret } } @@ -88,4 +78,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index 1a3b630b6b2..eaf8a630df7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -50,23 +40,23 @@ .locals init (int32 V_0) IL_0000: ldc.i4.0 IL_0001: stloc.0 - IL_0002: br.s IL_0010 + IL_0002: br.s IL_000c IL_0004: ldarg.0 IL_0005: ldloc.0 IL_0006: ldloc.0 - IL_0007: stelem [runtime]System.Int32 + IL_0007: stelem.i4 + IL_0008: ldloc.0 + IL_0009: ldc.i4.1 + IL_000a: add + IL_000b: stloc.0 IL_000c: ldloc.0 - IL_000d: ldc.i4.1 - IL_000e: add - IL_000f: stloc.0 - IL_0010: ldloc.0 - IL_0011: ldarg.0 - IL_0012: ldlen - IL_0013: conv.i4 - IL_0014: blt.s IL_0004 - - IL_0016: ret + IL_000d: ldarg.0 + IL_000e: ldlen + IL_000f: conv.i4 + IL_0010: blt.s IL_0004 + + IL_0012: ret } } @@ -88,4 +78,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl index 2d7c1c580ba..4ab34b0cd6c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOff.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -58,23 +48,23 @@ IL_000a: stloc.0 IL_000b: ldloc.0 IL_000c: ldloc.1 - IL_000d: blt.s IL_0021 + IL_000d: blt.s IL_001d IL_000f: ldarg.0 IL_0010: ldloc.1 IL_0011: ldloc.1 - IL_0012: stelem [runtime]System.Int32 + IL_0012: stelem.i4 + IL_0013: ldloc.1 + IL_0014: ldc.i4.1 + IL_0015: add + IL_0016: stloc.1 IL_0017: ldloc.1 - IL_0018: ldc.i4.1 - IL_0019: add - IL_001a: stloc.1 - IL_001b: ldloc.1 - IL_001c: ldloc.0 - IL_001d: ldc.i4.1 - IL_001e: add - IL_001f: bne.un.s IL_000f - - IL_0021: ret + IL_0018: ldloc.0 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: bne.un.s IL_000f + + IL_001d: ret } } @@ -96,4 +86,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl index 2d7c1c580ba..4ab34b0cd6c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.RealInternalSignatureOn.OptimizeOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -58,23 +48,23 @@ IL_000a: stloc.0 IL_000b: ldloc.0 IL_000c: ldloc.1 - IL_000d: blt.s IL_0021 + IL_000d: blt.s IL_001d IL_000f: ldarg.0 IL_0010: ldloc.1 IL_0011: ldloc.1 - IL_0012: stelem [runtime]System.Int32 + IL_0012: stelem.i4 + IL_0013: ldloc.1 + IL_0014: ldc.i4.1 + IL_0015: add + IL_0016: stloc.1 IL_0017: ldloc.1 - IL_0018: ldc.i4.1 - IL_0019: add - IL_001a: stloc.1 - IL_001b: ldloc.1 - IL_001c: ldloc.0 - IL_001d: ldc.i4.1 - IL_001e: add - IL_001f: bne.un.s IL_000f - - IL_0021: ret + IL_0018: ldloc.0 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: bne.un.s IL_000f + + IL_001d: ret } } @@ -96,4 +86,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl index 3502e1e886d..b6a57f176c1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl @@ -45,9 +45,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(int32 pc, - class [runtime]System.Tuple`2 current) cil managed + .method public specialname rtspecialname instance void .ctor(int32 pc, class [runtime]System.Tuple`2 current) cil managed { .maxstack 8 @@ -93,7 +91,7 @@ IL_002d: ldc.i4.1 IL_002e: ldc.i4.1 IL_002f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) + !1) IL_0034: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current IL_0039: ldc.i4.1 IL_003a: ret @@ -105,7 +103,7 @@ IL_0043: ldc.i4.2 IL_0044: ldc.i4.2 IL_0045: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) + !1) IL_004a: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current IL_004f: ldc.i4.1 IL_0050: ret @@ -435,243 +433,243 @@ IL_003b: dup IL_003c: ldc.i4.0 IL_003d: ldc.i4.1 - IL_003e: stelem [runtime]System.Int32 + IL_003e: stelem.i4 + IL_003f: dup + IL_0040: ldc.i4.1 + IL_0041: ldc.i4.2 + IL_0042: stelem.i4 IL_0043: dup - IL_0044: ldc.i4.1 - IL_0045: ldc.i4.2 - IL_0046: stelem [runtime]System.Int32 - IL_004b: dup - IL_004c: ldc.i4.2 - IL_004d: ldc.i4.3 - IL_004e: stelem [runtime]System.Int32 - IL_0053: dup - IL_0054: stsfld int32[] ''.$assembly::array@6 - IL_0059: stloc.1 - IL_005a: ldc.i4.1 - IL_005b: ldc.i4.1 - IL_005c: ldc.i4.s 10 - IL_005e: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0063: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0068: dup - IL_0069: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 ''.$assembly::aseq@7 - IL_006e: stloc.2 - IL_006f: ldc.i4.1 - IL_0070: ldc.i4.1 - IL_0071: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_0076: ldc.i4.2 - IL_0077: ldc.i4.2 - IL_0078: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_007d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() - IL_0082: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0087: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_008c: dup - IL_008d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$assembly::list1@8 - IL_0092: stloc.3 - IL_0093: ldc.i4.0 - IL_0094: ldnull - IL_0095: newobj instance void assembly/seq1@9::.ctor(int32, + IL_0044: ldc.i4.2 + IL_0045: ldc.i4.3 + IL_0046: stelem.i4 + IL_0047: dup + IL_0048: stsfld int32[] ''.$assembly::array@6 + IL_004d: stloc.1 + IL_004e: ldc.i4.1 + IL_004f: ldc.i4.1 + IL_0050: ldc.i4.s 10 + IL_0052: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0057: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005c: dup + IL_005d: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 ''.$assembly::aseq@7 + IL_0062: stloc.2 + IL_0063: ldc.i4.1 + IL_0064: ldc.i4.1 + IL_0065: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_006a: ldc.i4.2 + IL_006b: ldc.i4.2 + IL_006c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0071: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() + IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0080: dup + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$assembly::list1@8 + IL_0086: stloc.3 + IL_0087: ldc.i4.0 + IL_0088: ldnull + IL_0089: newobj instance void assembly/seq1@9::.ctor(int32, class [runtime]System.Tuple`2) - IL_009a: dup - IL_009b: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> ''.$assembly::seq1@9 - IL_00a0: stloc.s V_4 - IL_00a2: ldc.i4.2 - IL_00a3: newarr class [runtime]System.Tuple`2 - IL_00a8: dup - IL_00a9: ldc.i4.0 - IL_00aa: ldc.i4.1 + IL_008e: dup + IL_008f: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> ''.$assembly::seq1@9 + IL_0094: stloc.s V_4 + IL_0096: ldc.i4.2 + IL_0097: newarr class [runtime]System.Tuple`2 + IL_009c: dup + IL_009d: ldc.i4.0 + IL_009e: ldc.i4.1 + IL_009f: ldc.i4.1 + IL_00a0: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_00a5: stelem class [runtime]System.Tuple`2 + IL_00aa: dup IL_00ab: ldc.i4.1 - IL_00ac: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_00b1: stelem class [runtime]System.Tuple`2 - IL_00b6: dup - IL_00b7: ldc.i4.1 - IL_00b8: ldc.i4.2 - IL_00b9: ldc.i4.2 - IL_00ba: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_00bf: stelem class [runtime]System.Tuple`2 - IL_00c4: dup - IL_00c5: stsfld class [runtime]System.Tuple`2[] ''.$assembly::array1@10 - IL_00ca: stloc.s V_5 - IL_00cc: ldc.i4.2 - IL_00cd: ldc.i4.2 - IL_00ce: ldc.i4.0 - IL_00cf: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, + IL_00ac: ldc.i4.2 + IL_00ad: ldc.i4.2 + IL_00ae: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_00b3: stelem class [runtime]System.Tuple`2 + IL_00b8: dup + IL_00b9: stsfld class [runtime]System.Tuple`2[] ''.$assembly::array1@10 + IL_00be: stloc.s V_5 + IL_00c0: ldc.i4.2 + IL_00c1: ldc.i4.2 + IL_00c2: ldc.i4.0 + IL_00c3: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, int32, !!0) - IL_00d4: dup - IL_00d5: stsfld int32[0...,0...] ''.$assembly::a3@11 - IL_00da: stloc.s V_6 - IL_00dc: ldc.i4.3 - IL_00dd: ldc.i4.3 - IL_00de: ldc.i4.3 - IL_00df: ldc.i4.0 - IL_00e0: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, + IL_00c8: dup + IL_00c9: stsfld int32[0...,0...] ''.$assembly::a3@11 + IL_00ce: stloc.s V_6 + IL_00d0: ldc.i4.3 + IL_00d1: ldc.i4.3 + IL_00d2: ldc.i4.3 + IL_00d3: ldc.i4.0 + IL_00d4: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, int32, int32, !!0) - IL_00e5: dup - IL_00e6: stsfld int32[0...,0...,0...] ''.$assembly::array3D@12 - IL_00eb: stloc.s V_7 - IL_00ed: ldc.i4.4 - IL_00ee: ldc.i4.4 - IL_00ef: ldc.i4.4 - IL_00f0: ldc.i4.4 - IL_00f1: ldc.i4.0 - IL_00f2: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, + IL_00d9: dup + IL_00da: stsfld int32[0...,0...,0...] ''.$assembly::array3D@12 + IL_00df: stloc.s V_7 + IL_00e1: ldc.i4.4 + IL_00e2: ldc.i4.4 + IL_00e3: ldc.i4.4 + IL_00e4: ldc.i4.4 + IL_00e5: ldc.i4.0 + IL_00e6: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, int32, int32, int32, !!0) - IL_00f7: dup - IL_00f8: stsfld int32[0...,0...,0...,0...] ''.$assembly::array4D@13 - IL_00fd: stloc.s V_8 - IL_00ff: call int32[] assembly::get_array() - IL_0104: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) - IL_0109: pop - IL_010a: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() - IL_010f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0114: pop - IL_0115: call class [runtime]System.Tuple`2[] assembly::get_array1() - IL_011a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) - IL_011f: pop - IL_0120: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() - IL_0125: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) - IL_012a: pop - IL_012b: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() - IL_0130: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) - IL_0135: pop - IL_0136: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() - IL_013b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0140: dup - IL_0141: stsfld int32[] ''.$assembly::a1@25 - IL_0146: stloc.s V_9 - IL_0148: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() - IL_014d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0152: dup - IL_0153: stsfld int32[] ''.$assembly::a2@26 - IL_0158: stloc.s V_10 - IL_015a: call int32[] assembly::get_a1() - IL_015f: ldc.i4.0 - IL_0160: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], + IL_00eb: dup + IL_00ec: stsfld int32[0...,0...,0...,0...] ''.$assembly::array4D@13 + IL_00f1: stloc.s V_8 + IL_00f3: call int32[] assembly::get_array() + IL_00f8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) + IL_00fd: pop + IL_00fe: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_0103: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: pop + IL_0109: call class [runtime]System.Tuple`2[] assembly::get_array1() + IL_010e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) + IL_0113: pop + IL_0114: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() + IL_0119: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) + IL_011e: pop + IL_011f: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() + IL_0124: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) + IL_0129: pop + IL_012a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() + IL_012f: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0134: dup + IL_0135: stsfld int32[] ''.$assembly::a1@25 + IL_013a: stloc.s V_9 + IL_013c: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_0141: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0146: dup + IL_0147: stsfld int32[] ''.$assembly::a2@26 + IL_014c: stloc.s V_10 + IL_014e: call int32[] assembly::get_a1() + IL_0153: ldc.i4.0 + IL_0154: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], int32) - IL_0165: stloc.s V_14 - IL_0167: call int32[] assembly::get_a2() - IL_016c: ldc.i4.0 - IL_016d: ldloc.s V_14 - IL_016f: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], + IL_0159: stloc.s V_14 + IL_015b: call int32[] assembly::get_a2() + IL_0160: ldc.i4.0 + IL_0161: ldloc.s V_14 + IL_0163: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], int32, !!0) - IL_0174: nop - IL_0175: call int32[0...,0...] assembly::get_a3() - IL_017a: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) - IL_017f: call int32[0...,0...] assembly::get_a3() - IL_0184: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) - IL_0189: call int32[0...,0...] assembly::get_a3() - IL_018e: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) - IL_0193: call int32[0...,0...] assembly::get_a3() - IL_0198: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) - IL_019d: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, - !1, - !2, - !3) - IL_01a2: stloc.s V_15 - IL_01a4: ldloc.s V_15 - IL_01a6: stloc.s V_16 - IL_01a8: call int32[0...,0...] assembly::get_a3() - IL_01ad: ldc.i4.0 - IL_01ae: ldc.i4.0 - IL_01af: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], + IL_0168: nop + IL_0169: call int32[0...,0...] assembly::get_a3() + IL_016e: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) + IL_0173: call int32[0...,0...] assembly::get_a3() + IL_0178: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) + IL_017d: call int32[0...,0...] assembly::get_a3() + IL_0182: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) + IL_0187: call int32[0...,0...] assembly::get_a3() + IL_018c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) + IL_0191: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_0196: stloc.s V_15 + IL_0198: ldloc.s V_15 + IL_019a: stloc.s V_16 + IL_019c: call int32[0...,0...] assembly::get_a3() + IL_01a1: ldc.i4.0 + IL_01a2: ldc.i4.0 + IL_01a3: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], int32, int32) - IL_01b4: stloc.s V_17 - IL_01b6: call int32[0...,0...] assembly::get_a3() - IL_01bb: ldc.i4.0 - IL_01bc: ldc.i4.0 - IL_01bd: ldloc.s V_17 - IL_01bf: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], + IL_01a8: stloc.s V_17 + IL_01aa: call int32[0...,0...] assembly::get_a3() + IL_01af: ldc.i4.0 + IL_01b0: ldc.i4.0 + IL_01b1: ldloc.s V_17 + IL_01b3: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], int32, int32, !!0) - IL_01c4: nop - IL_01c5: call int32[0...,0...,0...] assembly::get_array3D() - IL_01ca: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) - IL_01cf: call int32[0...,0...,0...] assembly::get_array3D() - IL_01d4: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) - IL_01d9: call int32[0...,0...,0...] assembly::get_array3D() - IL_01de: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) - IL_01e3: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, - !1, - !2) - IL_01e8: stloc.s V_18 - IL_01ea: ldloc.s V_18 - IL_01ec: stloc.s V_19 - IL_01ee: call int32[0...,0...,0...] assembly::get_array3D() - IL_01f3: ldc.i4.0 - IL_01f4: ldc.i4.0 - IL_01f5: ldc.i4.0 - IL_01f6: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], + IL_01b8: nop + IL_01b9: call int32[0...,0...,0...] assembly::get_array3D() + IL_01be: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) + IL_01c3: call int32[0...,0...,0...] assembly::get_array3D() + IL_01c8: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) + IL_01cd: call int32[0...,0...,0...] assembly::get_array3D() + IL_01d2: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) + IL_01d7: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_01dc: stloc.s V_18 + IL_01de: ldloc.s V_18 + IL_01e0: stloc.s V_19 + IL_01e2: call int32[0...,0...,0...] assembly::get_array3D() + IL_01e7: ldc.i4.0 + IL_01e8: ldc.i4.0 + IL_01e9: ldc.i4.0 + IL_01ea: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], int32, int32, int32) - IL_01fb: stloc.s V_20 - IL_01fd: call int32[0...,0...,0...] assembly::get_array3D() - IL_0202: ldc.i4.0 - IL_0203: ldc.i4.0 - IL_0204: ldc.i4.0 - IL_0205: ldloc.s V_20 - IL_0207: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], + IL_01ef: stloc.s V_20 + IL_01f1: call int32[0...,0...,0...] assembly::get_array3D() + IL_01f6: ldc.i4.0 + IL_01f7: ldc.i4.0 + IL_01f8: ldc.i4.0 + IL_01f9: ldloc.s V_20 + IL_01fb: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], int32, int32, int32, !!0) - IL_020c: nop - IL_020d: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0212: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) - IL_0217: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_021c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) - IL_0221: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0226: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) - IL_022b: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0230: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) - IL_0235: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, - !1, - !2, - !3) - IL_023a: stloc.s V_21 - IL_023c: ldloc.s V_21 - IL_023e: stloc.s V_22 - IL_0240: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0245: ldc.i4.0 - IL_0246: ldc.i4.0 - IL_0247: ldc.i4.0 - IL_0248: ldc.i4.0 - IL_0249: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], + IL_0200: nop + IL_0201: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0206: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) + IL_020b: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0210: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) + IL_0215: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_021a: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) + IL_021f: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0224: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) + IL_0229: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_022e: stloc.s V_21 + IL_0230: ldloc.s V_21 + IL_0232: stloc.s V_22 + IL_0234: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0239: ldc.i4.0 + IL_023a: ldc.i4.0 + IL_023b: ldc.i4.0 + IL_023c: ldc.i4.0 + IL_023d: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], int32, int32, int32, int32) - IL_024e: stloc.s V_23 - IL_0250: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0255: ldc.i4.0 - IL_0256: ldc.i4.0 - IL_0257: ldc.i4.0 - IL_0258: ldc.i4.0 - IL_0259: ldloc.s V_23 - IL_025b: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], + IL_0242: stloc.s V_23 + IL_0244: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0249: ldc.i4.0 + IL_024a: ldc.i4.0 + IL_024b: ldc.i4.0 + IL_024c: ldc.i4.0 + IL_024d: ldloc.s V_23 + IL_024f: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], int32, int32, int32, int32, !!0) - IL_0260: nop - IL_0261: ret + IL_0254: nop + IL_0255: ret } } @@ -680,4 +678,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl index 35494e25b75..e809a0fd89f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl @@ -16,16 +16,6 @@ .hash algorithm 0x00008004 .ver 0:0:0:0 -} -.mresource public FSharpSignatureCompressedData.assembly -{ - - -} -.mresource public FSharpOptimizationCompressedData.assembly -{ - - } .module assembly.exe @@ -55,9 +45,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(int32 pc, - class [runtime]System.Tuple`2 current) cil managed + .method public specialname rtspecialname instance void .ctor(int32 pc, class [runtime]System.Tuple`2 current) cil managed { .maxstack 8 @@ -373,223 +361,223 @@ IL_0031: dup IL_0032: ldc.i4.0 IL_0033: ldc.i4.1 - IL_0034: stelem [runtime]System.Int32 + IL_0034: stelem.i4 + IL_0035: dup + IL_0036: ldc.i4.1 + IL_0037: ldc.i4.2 + IL_0038: stelem.i4 IL_0039: dup - IL_003a: ldc.i4.1 - IL_003b: ldc.i4.2 - IL_003c: stelem [runtime]System.Int32 - IL_0041: dup - IL_0042: ldc.i4.2 - IL_0043: ldc.i4.3 - IL_0044: stelem [runtime]System.Int32 - IL_0049: stsfld int32[] assembly::array@6 - IL_004e: ldc.i4.1 - IL_004f: ldc.i4.1 - IL_0050: ldc.i4.s 10 - IL_0052: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + IL_003a: ldc.i4.2 + IL_003b: ldc.i4.3 + IL_003c: stelem.i4 + IL_003d: stsfld int32[] assembly::array@6 + IL_0042: ldc.i4.1 + IL_0043: ldc.i4.1 + IL_0044: ldc.i4.s 10 + IL_0046: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, int32, int32) - IL_0057: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_005c: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::aseq@7 - IL_0061: ldc.i4.1 - IL_0062: ldc.i4.1 - IL_0063: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_004b: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0050: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::aseq@7 + IL_0055: ldc.i4.1 + IL_0056: ldc.i4.1 + IL_0057: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_0068: ldc.i4.2 - IL_0069: ldc.i4.2 - IL_006a: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_005c: ldc.i4.2 + IL_005d: ldc.i4.2 + IL_005e: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() - IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + IL_0063: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + IL_006d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_007e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::list1@8 - IL_0083: ldc.i4.0 - IL_0084: ldnull - IL_0085: newobj instance void assembly/seq1@9::.ctor(int32, + IL_0072: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::list1@8 + IL_0077: ldc.i4.0 + IL_0078: ldnull + IL_0079: newobj instance void assembly/seq1@9::.ctor(int32, class [runtime]System.Tuple`2) - IL_008a: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::seq1@9 - IL_008f: ldc.i4.2 - IL_0090: newarr class [runtime]System.Tuple`2 - IL_0095: dup - IL_0096: ldc.i4.0 - IL_0097: ldc.i4.1 - IL_0098: ldc.i4.1 - IL_0099: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_007e: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::seq1@9 + IL_0083: ldc.i4.2 + IL_0084: newarr class [runtime]System.Tuple`2 + IL_0089: dup + IL_008a: ldc.i4.0 + IL_008b: ldc.i4.1 + IL_008c: ldc.i4.1 + IL_008d: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_009e: stelem class [runtime]System.Tuple`2 - IL_00a3: dup - IL_00a4: ldc.i4.1 - IL_00a5: ldc.i4.2 - IL_00a6: ldc.i4.2 - IL_00a7: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_0092: stelem class [runtime]System.Tuple`2 + IL_0097: dup + IL_0098: ldc.i4.1 + IL_0099: ldc.i4.2 + IL_009a: ldc.i4.2 + IL_009b: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_00ac: stelem class [runtime]System.Tuple`2 - IL_00b1: stsfld class [runtime]System.Tuple`2[] assembly::array1@10 - IL_00b6: ldc.i4.2 - IL_00b7: ldc.i4.2 - IL_00b8: ldc.i4.0 - IL_00b9: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, + IL_00a0: stelem class [runtime]System.Tuple`2 + IL_00a5: stsfld class [runtime]System.Tuple`2[] assembly::array1@10 + IL_00aa: ldc.i4.2 + IL_00ab: ldc.i4.2 + IL_00ac: ldc.i4.0 + IL_00ad: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, int32, !!0) - IL_00be: stsfld int32[0...,0...] assembly::a3@11 - IL_00c3: ldc.i4.3 - IL_00c4: ldc.i4.3 - IL_00c5: ldc.i4.3 - IL_00c6: ldc.i4.0 - IL_00c7: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, + IL_00b2: stsfld int32[0...,0...] assembly::a3@11 + IL_00b7: ldc.i4.3 + IL_00b8: ldc.i4.3 + IL_00b9: ldc.i4.3 + IL_00ba: ldc.i4.0 + IL_00bb: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, int32, int32, !!0) - IL_00cc: stsfld int32[0...,0...,0...] assembly::array3D@12 - IL_00d1: ldc.i4.4 - IL_00d2: ldc.i4.4 - IL_00d3: ldc.i4.4 - IL_00d4: ldc.i4.4 - IL_00d5: ldc.i4.0 - IL_00d6: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, + IL_00c0: stsfld int32[0...,0...,0...] assembly::array3D@12 + IL_00c5: ldc.i4.4 + IL_00c6: ldc.i4.4 + IL_00c7: ldc.i4.4 + IL_00c8: ldc.i4.4 + IL_00c9: ldc.i4.0 + IL_00ca: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, int32, int32, int32, !!0) - IL_00db: stsfld int32[0...,0...,0...,0...] assembly::array4D@13 - IL_00e0: call int32[] assembly::get_array() - IL_00e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) - IL_00ea: pop - IL_00eb: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() - IL_00f0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_00f5: pop - IL_00f6: call class [runtime]System.Tuple`2[] assembly::get_array1() - IL_00fb: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) - IL_0100: pop - IL_0101: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() - IL_0106: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) - IL_010b: pop - IL_010c: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() - IL_0111: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) - IL_0116: pop - IL_0117: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() - IL_011c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0121: stsfld int32[] assembly::a1@25 - IL_0126: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() - IL_012b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0130: stsfld int32[] assembly::a2@26 - IL_0135: call int32[] assembly::get_a1() - IL_013a: ldc.i4.0 - IL_013b: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], + IL_00cf: stsfld int32[0...,0...,0...,0...] assembly::array4D@13 + IL_00d4: call int32[] assembly::get_array() + IL_00d9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) + IL_00de: pop + IL_00df: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_00e4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00e9: pop + IL_00ea: call class [runtime]System.Tuple`2[] assembly::get_array1() + IL_00ef: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) + IL_00f4: pop + IL_00f5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() + IL_00fa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) + IL_00ff: pop + IL_0100: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() + IL_0105: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) + IL_010a: pop + IL_010b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() + IL_0110: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0115: stsfld int32[] assembly::a1@25 + IL_011a: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_011f: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0124: stsfld int32[] assembly::a2@26 + IL_0129: call int32[] assembly::get_a1() + IL_012e: ldc.i4.0 + IL_012f: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], int32) - IL_0140: stloc.3 - IL_0141: call int32[] assembly::get_a2() - IL_0146: ldc.i4.0 - IL_0147: ldloc.3 - IL_0148: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], + IL_0134: stloc.3 + IL_0135: call int32[] assembly::get_a2() + IL_013a: ldc.i4.0 + IL_013b: ldloc.3 + IL_013c: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], int32, !!0) - IL_014d: nop - IL_014e: call int32[0...,0...] assembly::get_a3() - IL_0153: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) - IL_0158: call int32[0...,0...] assembly::get_a3() - IL_015d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) - IL_0162: call int32[0...,0...] assembly::get_a3() - IL_0167: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) - IL_016c: call int32[0...,0...] assembly::get_a3() - IL_0171: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) - IL_0176: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + IL_0141: nop + IL_0142: call int32[0...,0...] assembly::get_a3() + IL_0147: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) + IL_014c: call int32[0...,0...] assembly::get_a3() + IL_0151: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) + IL_0156: call int32[0...,0...] assembly::get_a3() + IL_015b: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) + IL_0160: call int32[0...,0...] assembly::get_a3() + IL_0165: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) + IL_016a: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, !1, !2, !3) - IL_017b: stloc.s V_4 - IL_017d: ldloc.s V_4 - IL_017f: stloc.s V_5 - IL_0181: call int32[0...,0...] assembly::get_a3() - IL_0186: ldc.i4.0 - IL_0187: ldc.i4.0 - IL_0188: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], + IL_016f: stloc.s V_4 + IL_0171: ldloc.s V_4 + IL_0173: stloc.s V_5 + IL_0175: call int32[0...,0...] assembly::get_a3() + IL_017a: ldc.i4.0 + IL_017b: ldc.i4.0 + IL_017c: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], int32, int32) - IL_018d: stloc.s V_6 - IL_018f: call int32[0...,0...] assembly::get_a3() - IL_0194: ldc.i4.0 - IL_0195: ldc.i4.0 - IL_0196: ldloc.s V_6 - IL_0198: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], + IL_0181: stloc.s V_6 + IL_0183: call int32[0...,0...] assembly::get_a3() + IL_0188: ldc.i4.0 + IL_0189: ldc.i4.0 + IL_018a: ldloc.s V_6 + IL_018c: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], int32, int32, !!0) - IL_019d: nop - IL_019e: call int32[0...,0...,0...] assembly::get_array3D() - IL_01a3: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) - IL_01a8: call int32[0...,0...,0...] assembly::get_array3D() - IL_01ad: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) - IL_01b2: call int32[0...,0...,0...] assembly::get_array3D() - IL_01b7: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) - IL_01bc: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + IL_0191: nop + IL_0192: call int32[0...,0...,0...] assembly::get_array3D() + IL_0197: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) + IL_019c: call int32[0...,0...,0...] assembly::get_array3D() + IL_01a1: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) + IL_01a6: call int32[0...,0...,0...] assembly::get_array3D() + IL_01ab: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) + IL_01b0: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, !1, !2) - IL_01c1: stloc.s V_7 - IL_01c3: ldloc.s V_7 - IL_01c5: stloc.s V_8 - IL_01c7: call int32[0...,0...,0...] assembly::get_array3D() - IL_01cc: ldc.i4.0 - IL_01cd: ldc.i4.0 - IL_01ce: ldc.i4.0 - IL_01cf: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], + IL_01b5: stloc.s V_7 + IL_01b7: ldloc.s V_7 + IL_01b9: stloc.s V_8 + IL_01bb: call int32[0...,0...,0...] assembly::get_array3D() + IL_01c0: ldc.i4.0 + IL_01c1: ldc.i4.0 + IL_01c2: ldc.i4.0 + IL_01c3: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], int32, int32, int32) - IL_01d4: stloc.s V_9 - IL_01d6: call int32[0...,0...,0...] assembly::get_array3D() - IL_01db: ldc.i4.0 - IL_01dc: ldc.i4.0 - IL_01dd: ldc.i4.0 - IL_01de: ldloc.s V_9 - IL_01e0: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], + IL_01c8: stloc.s V_9 + IL_01ca: call int32[0...,0...,0...] assembly::get_array3D() + IL_01cf: ldc.i4.0 + IL_01d0: ldc.i4.0 + IL_01d1: ldc.i4.0 + IL_01d2: ldloc.s V_9 + IL_01d4: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], int32, int32, int32, !!0) - IL_01e5: nop - IL_01e6: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_01eb: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) - IL_01f0: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_01f5: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) - IL_01fa: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_01ff: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) - IL_0204: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0209: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) - IL_020e: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + IL_01d9: nop + IL_01da: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01df: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) + IL_01e4: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01e9: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) + IL_01ee: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01f3: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) + IL_01f8: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01fd: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) + IL_0202: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, !1, !2, !3) - IL_0213: stloc.s V_10 - IL_0215: ldloc.s V_10 - IL_0217: stloc.s V_11 - IL_0219: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_021e: ldc.i4.0 - IL_021f: ldc.i4.0 - IL_0220: ldc.i4.0 - IL_0221: ldc.i4.0 - IL_0222: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], + IL_0207: stloc.s V_10 + IL_0209: ldloc.s V_10 + IL_020b: stloc.s V_11 + IL_020d: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0212: ldc.i4.0 + IL_0213: ldc.i4.0 + IL_0214: ldc.i4.0 + IL_0215: ldc.i4.0 + IL_0216: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], int32, int32, int32, int32) - IL_0227: stloc.s V_12 - IL_0229: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_022e: ldc.i4.0 - IL_022f: ldc.i4.0 - IL_0230: ldc.i4.0 - IL_0231: ldc.i4.0 - IL_0232: ldloc.s V_12 - IL_0234: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], + IL_021b: stloc.s V_12 + IL_021d: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0222: ldc.i4.0 + IL_0223: ldc.i4.0 + IL_0224: ldc.i4.0 + IL_0225: ldc.i4.0 + IL_0226: ldloc.s V_12 + IL_0228: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], int32, int32, int32, int32, !!0) - IL_0239: nop - IL_023a: ret + IL_022d: nop + IL_022e: ret } .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 @@ -676,4 +664,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.net472.bsl index 61189193176..9ee35c80b50 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.net472.bsl @@ -425,7 +425,7 @@ .maxstack 8 IL_0000: ldarga.s x - IL_0002: callvirt instance string MyTestModule/Myassembly::ToString() + IL_0002: call instance string MyTestModule/Myassembly::ToString() IL_0007: ret } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.netcore.bsl index 1782bf60827..3d4ce970bcb 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Nullness/StructDU.fs.il.netcore.bsl @@ -425,7 +425,7 @@ .maxstack 8 IL_0000: ldarga.s x - IL_0002: callvirt instance string MyTestModule/Myassembly::ToString() + IL_0002: call instance string MyTestModule/Myassembly::ToString() IL_0007: ret } @@ -469,4 +469,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.debug.bsl index 0fd66bf54cf..ba34e38db13 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.debug.bsl @@ -209,28 +209,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -244,33 +244,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.release.bsl index 0fd66bf54cf..ba34e38db13 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.net472.release.bsl @@ -209,28 +209,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -244,33 +244,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.debug.bsl index 396cf2ef4fc..3a819400ad8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.debug.bsl @@ -203,28 +203,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -238,33 +238,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed @@ -790,4 +790,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.release.bsl index ef8c6021f6b..3a819400ad8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOff.il.netcore.release.bsl @@ -203,28 +203,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -238,33 +238,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.debug.bsl index d262ec04953..d157a43ce85 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -211,28 +211,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -246,33 +246,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.release.bsl index d262ec04953..d157a43ce85 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -211,28 +211,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -246,33 +246,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 06bf6970470..05ce6c336c5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -205,28 +205,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -240,33 +240,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed @@ -809,4 +809,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.release.bsl index 8ed4541528d..05ce6c336c5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -205,28 +205,28 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0022 + IL_0004: br.s IL_001e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) + IL_001a: ldloc.1 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.1 IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 + IL_001f: ldloc.0 + IL_0020: ldlen + IL_0021: conv.i4 + IL_0022: blt.s IL_0006 - IL_0028: ret + IL_0024: ret } .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed @@ -240,33 +240,33 @@ IL_0001: stloc.0 IL_0002: ldc.i4.0 IL_0003: stloc.1 - IL_0004: br.s IL_0032 + IL_0004: br.s IL_002e IL_0006: ldloc.0 IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, + IL_0008: ldelem.i4 + IL_0009: stloc.2 + IL_000a: ldstr "{0}" + IL_000f: ldloc.2 + IL_0010: box [runtime]System.Int32 + IL_0015: call void [runtime]System.Console::WriteLine(string, object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, + IL_001a: ldstr "{0}" + IL_001f: ldloc.2 + IL_0020: box [runtime]System.Int32 + IL_0025: call void [runtime]System.Console::WriteLine(string, object) + IL_002a: ldloc.1 + IL_002b: ldc.i4.1 + IL_002c: add + IL_002d: stloc.1 IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 + IL_002f: ldloc.0 + IL_0030: ldlen + IL_0031: conv.i4 + IL_0032: blt.s IL_0006 - IL_0038: ret + IL_0034: ret } .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs index bc0d963ba6d..13ed704736f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs @@ -248,10 +248,10 @@ let run() = |> shouldSucceed |> verifyIL [ """ - IL_0040: ldc.i4.s 42 - IL_0042: ldc.i4.5 - IL_0043: call void TailCall06::foo(int32, - !!0) + IL_0034: ldc.i4.s 42 + IL_0036: ldc.i4.5 + IL_0037: call void TailCall06::foo(int32, + !!0) """ ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.debug.bsl index 7852e2509a4..49122ee1b8d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.debug.bsl @@ -680,87 +680,87 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 - IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: stloc.s V_6 - IL_0094: ldloc.s V_5 - IL_0096: stloc.s V_7 - IL_0098: ldloc.s V_6 - IL_009a: ldloc.s V_7 - IL_009c: conv.i - IL_009d: sizeof [runtime]System.Double - IL_00a3: mul - IL_00a4: add - IL_00a5: ldobj [runtime]System.Double - IL_00aa: ldloc.1 - IL_00ab: stloc.s V_8 - IL_00ad: ldc.i4.1 - IL_00ae: stloc.s V_9 - IL_00b0: ldloc.s V_8 - IL_00b2: stloc.s V_10 - IL_00b4: ldloc.s V_9 - IL_00b6: stloc.s V_11 - IL_00b8: ldloc.s V_10 - IL_00ba: ldloc.s V_11 - IL_00bc: conv.i - IL_00bd: sizeof [runtime]System.Double - IL_00c3: mul - IL_00c4: add - IL_00c5: ldobj [runtime]System.Double - IL_00ca: add - IL_00cb: ret + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: stloc.s V_6 + IL_007c: ldloc.s V_5 + IL_007e: stloc.s V_7 + IL_0080: ldloc.s V_6 + IL_0082: ldloc.s V_7 + IL_0084: conv.i + IL_0085: sizeof [runtime]System.Double + IL_008b: mul + IL_008c: add + IL_008d: ldobj [runtime]System.Double + IL_0092: ldloc.1 + IL_0093: stloc.s V_8 + IL_0095: ldc.i4.1 + IL_0096: stloc.s V_9 + IL_0098: ldloc.s V_8 + IL_009a: stloc.s V_10 + IL_009c: ldloc.s V_9 + IL_009e: stloc.s V_11 + IL_00a0: ldloc.s V_10 + IL_00a2: ldloc.s V_11 + IL_00a4: conv.i + IL_00a5: sizeof [runtime]System.Double + IL_00ab: mul + IL_00ac: add + IL_00ad: ldobj [runtime]System.Double + IL_00b2: add + IL_00b3: ret } .method public static float64 pinArray2() cil managed @@ -783,67 +783,67 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: stloc.s V_5 - IL_007a: ldloc.s V_4 - IL_007c: stloc.s V_6 - IL_007e: ldloc.s V_5 - IL_0080: ldloc.s V_6 - IL_0082: conv.i - IL_0083: sizeof [runtime]System.Double - IL_0089: mul - IL_008a: add - IL_008b: ldobj [runtime]System.Double - IL_0090: ldloc.1 - IL_0091: stloc.s V_7 - IL_0093: ldc.i4.1 - IL_0094: stloc.s V_8 - IL_0096: ldloc.s V_7 - IL_0098: stloc.s V_9 - IL_009a: ldloc.s V_8 - IL_009c: stloc.s V_10 - IL_009e: ldloc.s V_9 - IL_00a0: ldloc.s V_10 - IL_00a2: conv.i - IL_00a3: sizeof [runtime]System.Double - IL_00a9: mul - IL_00aa: add - IL_00ab: ldobj [runtime]System.Double - IL_00b0: add - IL_00b1: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: stloc.s V_5 + IL_0062: ldloc.s V_4 + IL_0064: stloc.s V_6 + IL_0066: ldloc.s V_5 + IL_0068: ldloc.s V_6 + IL_006a: conv.i + IL_006b: sizeof [runtime]System.Double + IL_0071: mul + IL_0072: add + IL_0073: ldobj [runtime]System.Double + IL_0078: ldloc.1 + IL_0079: stloc.s V_7 + IL_007b: ldc.i4.1 + IL_007c: stloc.s V_8 + IL_007e: ldloc.s V_7 + IL_0080: stloc.s V_9 + IL_0082: ldloc.s V_8 + IL_0084: stloc.s V_10 + IL_0086: ldloc.s V_9 + IL_0088: ldloc.s V_10 + IL_008a: conv.i + IL_008b: sizeof [runtime]System.Double + IL_0091: mul + IL_0092: add + IL_0093: ldobj [runtime]System.Double + IL_0098: add + IL_0099: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.release.bsl index ab7bca6340a..01a58c52c7d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.net472.release.bsl @@ -598,79 +598,79 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: ldloc.s V_5 + IL_007c: conv.i + IL_007d: sizeof [runtime]System.Double + IL_0083: mul + IL_0084: add + IL_0085: ldobj [runtime]System.Double IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: ldloc.s V_5 + IL_008b: stloc.s V_6 + IL_008d: ldc.i4.1 + IL_008e: stloc.s V_7 + IL_0090: ldloc.s V_6 + IL_0092: ldloc.s V_7 IL_0094: conv.i IL_0095: sizeof [runtime]System.Double IL_009b: mul IL_009c: add IL_009d: ldobj [runtime]System.Double - IL_00a2: ldloc.1 - IL_00a3: stloc.s V_6 - IL_00a5: ldc.i4.1 - IL_00a6: stloc.s V_7 - IL_00a8: ldloc.s V_6 - IL_00aa: ldloc.s V_7 - IL_00ac: conv.i - IL_00ad: sizeof [runtime]System.Double - IL_00b3: mul - IL_00b4: add - IL_00b5: ldobj [runtime]System.Double - IL_00ba: add - IL_00bb: ret + IL_00a2: add + IL_00a3: ret } .method public static float64 pinArray2() cil managed @@ -689,59 +689,59 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: ldloc.s V_4 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldloc.s V_4 + IL_0062: conv.i + IL_0063: sizeof [runtime]System.Double + IL_0069: mul + IL_006a: add + IL_006b: ldobj [runtime]System.Double + IL_0070: ldloc.1 + IL_0071: stloc.s V_5 + IL_0073: ldc.i4.1 + IL_0074: stloc.s V_6 + IL_0076: ldloc.s V_5 + IL_0078: ldloc.s V_6 IL_007a: conv.i IL_007b: sizeof [runtime]System.Double IL_0081: mul IL_0082: add IL_0083: ldobj [runtime]System.Double - IL_0088: ldloc.1 - IL_0089: stloc.s V_5 - IL_008b: ldc.i4.1 - IL_008c: stloc.s V_6 - IL_008e: ldloc.s V_5 - IL_0090: ldloc.s V_6 - IL_0092: conv.i - IL_0093: sizeof [runtime]System.Double - IL_0099: mul - IL_009a: add - IL_009b: ldobj [runtime]System.Double - IL_00a0: add - IL_00a1: ret + IL_0088: add + IL_0089: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.debug.bsl index bda000c5fe3..b4424e5c131 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.debug.bsl @@ -136,18 +136,12 @@ int32 V_3, class [runtime]System.Collections.IComparer V_4, int32 V_5, - int32 V_6, - class [runtime]System.Collections.IComparer V_7, - int32 V_8, - int32 V_9, - class [runtime]System.Collections.IComparer V_10, - int32 V_11, - int32 V_12) + int32 V_6) IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0070 + IL_0001: brfalse.s IL_0057 IL_0003: ldarg.1 - IL_0004: brfalse.s IL_006e + IL_0004: brfalse.s IL_0055 IL_0006: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_000b: stloc.1 @@ -157,68 +151,56 @@ IL_0013: ldarg.1 IL_0014: ldfld int32 assembly/Point::x@ IL_0019: stloc.3 - IL_001a: ldloc.1 - IL_001b: stloc.s V_4 - IL_001d: ldloc.2 - IL_001e: stloc.s V_5 - IL_0020: ldloc.3 - IL_0021: stloc.s V_6 - IL_0023: ldloc.s V_5 - IL_0025: ldloc.s V_6 - IL_0027: cgt - IL_0029: ldloc.s V_5 - IL_002b: ldloc.s V_6 - IL_002d: clt - IL_002f: sub - IL_0030: stloc.0 - IL_0031: ldloc.0 - IL_0032: ldc.i4.0 - IL_0033: bge.s IL_0037 - - IL_0035: ldloc.0 - IL_0036: ret + IL_001a: ldloc.2 + IL_001b: ldloc.3 + IL_001c: cgt + IL_001e: ldloc.2 + IL_001f: ldloc.3 + IL_0020: clt + IL_0022: sub + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: bge.s IL_002a + + IL_0028: ldloc.0 + IL_0029: ret - IL_0037: ldloc.0 - IL_0038: ldc.i4.0 - IL_0039: ble.s IL_003d - - IL_003b: ldloc.0 - IL_003c: ret - - IL_003d: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0042: stloc.s V_7 - IL_0044: ldarg.0 - IL_0045: ldfld int32 assembly/Point::y@ - IL_004a: stloc.s V_8 - IL_004c: ldarg.1 - IL_004d: ldfld int32 assembly/Point::y@ - IL_0052: stloc.s V_9 - IL_0054: ldloc.s V_7 - IL_0056: stloc.s V_10 - IL_0058: ldloc.s V_8 - IL_005a: stloc.s V_11 - IL_005c: ldloc.s V_9 - IL_005e: stloc.s V_12 - IL_0060: ldloc.s V_11 - IL_0062: ldloc.s V_12 - IL_0064: cgt - IL_0066: ldloc.s V_11 - IL_0068: ldloc.s V_12 - IL_006a: clt - IL_006c: sub - IL_006d: ret - - IL_006e: ldc.i4.1 - IL_006f: ret - - IL_0070: ldarg.1 - IL_0071: brfalse.s IL_0075 - - IL_0073: ldc.i4.m1 - IL_0074: ret - - IL_0075: ldc.i4.0 - IL_0076: ret + IL_002a: ldloc.0 + IL_002b: ldc.i4.0 + IL_002c: ble.s IL_0030 + + IL_002e: ldloc.0 + IL_002f: ret + + IL_0030: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0035: stloc.s V_4 + IL_0037: ldarg.0 + IL_0038: ldfld int32 assembly/Point::y@ + IL_003d: stloc.s V_5 + IL_003f: ldarg.1 + IL_0040: ldfld int32 assembly/Point::y@ + IL_0045: stloc.s V_6 + IL_0047: ldloc.s V_5 + IL_0049: ldloc.s V_6 + IL_004b: cgt + IL_004d: ldloc.s V_5 + IL_004f: ldloc.s V_6 + IL_0051: clt + IL_0053: sub + IL_0054: ret + + IL_0055: ldc.i4.1 + IL_0056: ret + + IL_0057: ldarg.1 + IL_0058: brfalse.s IL_005c + + IL_005a: ldc.i4.m1 + IL_005b: ret + + IL_005c: ldc.i4.0 + IL_005d: ret } .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed @@ -246,24 +228,18 @@ int32 V_5, class [runtime]System.Collections.IComparer V_6, int32 V_7, - int32 V_8, - class [runtime]System.Collections.IComparer V_9, - int32 V_10, - int32 V_11, - class [runtime]System.Collections.IComparer V_12, - int32 V_13, - int32 V_14) + int32 V_8) IL_0000: ldarg.1 IL_0001: unbox.any assembly/Point IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: stloc.1 IL_0009: ldarg.0 - IL_000a: brfalse.s IL_007a + IL_000a: brfalse.s IL_0063 IL_000c: ldarg.1 IL_000d: unbox.any assembly/Point - IL_0012: brfalse.s IL_0078 + IL_0012: brfalse.s IL_0061 IL_0014: ldarg.2 IL_0015: stloc.3 @@ -273,69 +249,57 @@ IL_001e: ldloc.1 IL_001f: ldfld int32 assembly/Point::x@ IL_0024: stloc.s V_5 - IL_0026: ldloc.3 - IL_0027: stloc.s V_6 - IL_0029: ldloc.s V_4 - IL_002b: stloc.s V_7 - IL_002d: ldloc.s V_5 - IL_002f: stloc.s V_8 - IL_0031: ldloc.s V_7 - IL_0033: ldloc.s V_8 - IL_0035: cgt - IL_0037: ldloc.s V_7 - IL_0039: ldloc.s V_8 - IL_003b: clt - IL_003d: sub - IL_003e: stloc.2 - IL_003f: ldloc.2 - IL_0040: ldc.i4.0 - IL_0041: bge.s IL_0045 - - IL_0043: ldloc.2 - IL_0044: ret - - IL_0045: ldloc.2 - IL_0046: ldc.i4.0 - IL_0047: ble.s IL_004b - - IL_0049: ldloc.2 - IL_004a: ret - - IL_004b: ldarg.2 - IL_004c: stloc.s V_9 - IL_004e: ldarg.0 - IL_004f: ldfld int32 assembly/Point::y@ - IL_0054: stloc.s V_10 - IL_0056: ldloc.1 - IL_0057: ldfld int32 assembly/Point::y@ - IL_005c: stloc.s V_11 - IL_005e: ldloc.s V_9 - IL_0060: stloc.s V_12 - IL_0062: ldloc.s V_10 - IL_0064: stloc.s V_13 - IL_0066: ldloc.s V_11 - IL_0068: stloc.s V_14 - IL_006a: ldloc.s V_13 - IL_006c: ldloc.s V_14 - IL_006e: cgt - IL_0070: ldloc.s V_13 - IL_0072: ldloc.s V_14 - IL_0074: clt - IL_0076: sub - IL_0077: ret - - IL_0078: ldc.i4.1 - IL_0079: ret - - IL_007a: ldarg.1 - IL_007b: unbox.any assembly/Point - IL_0080: brfalse.s IL_0084 - - IL_0082: ldc.i4.m1 - IL_0083: ret - - IL_0084: ldc.i4.0 - IL_0085: ret + IL_0026: ldloc.s V_4 + IL_0028: ldloc.s V_5 + IL_002a: cgt + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: clt + IL_0032: sub + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: ldc.i4.0 + IL_0036: bge.s IL_003a + + IL_0038: ldloc.2 + IL_0039: ret + + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: ble.s IL_0040 + + IL_003e: ldloc.2 + IL_003f: ret + + IL_0040: ldarg.2 + IL_0041: stloc.s V_6 + IL_0043: ldarg.0 + IL_0044: ldfld int32 assembly/Point::y@ + IL_0049: stloc.s V_7 + IL_004b: ldloc.1 + IL_004c: ldfld int32 assembly/Point::y@ + IL_0051: stloc.s V_8 + IL_0053: ldloc.s V_7 + IL_0055: ldloc.s V_8 + IL_0057: cgt + IL_0059: ldloc.s V_7 + IL_005b: ldloc.s V_8 + IL_005d: clt + IL_005f: sub + IL_0060: ret + + IL_0061: ldc.i4.1 + IL_0062: ret + + IL_0063: ldarg.1 + IL_0064: unbox.any assembly/Point + IL_0069: brfalse.s IL_006d + + IL_006b: ldc.i4.m1 + IL_006c: ret + + IL_006d: ldc.i4.0 + IL_006e: ret } .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed @@ -345,13 +309,9 @@ .maxstack 7 .locals init (int32 V_0, class [runtime]System.Collections.IEqualityComparer V_1, - int32 V_2, - class [runtime]System.Collections.IEqualityComparer V_3, - class [runtime]System.Collections.IEqualityComparer V_4, - int32 V_5, - class [runtime]System.Collections.IEqualityComparer V_6) + class [runtime]System.Collections.IEqualityComparer V_2) IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0042 + IL_0001: brfalse.s IL_0035 IL_0003: ldc.i4.0 IL_0004: stloc.0 @@ -360,44 +320,36 @@ IL_000b: stloc.1 IL_000c: ldarg.0 IL_000d: ldfld int32 assembly/Point::y@ - IL_0012: stloc.2 - IL_0013: ldloc.1 - IL_0014: stloc.3 - IL_0015: ldloc.2 - IL_0016: ldloc.0 - IL_0017: ldc.i4.6 - IL_0018: shl - IL_0019: ldloc.0 - IL_001a: ldc.i4.2 - IL_001b: shr - IL_001c: add - IL_001d: add - IL_001e: add - IL_001f: stloc.0 - IL_0020: ldc.i4 0x9e3779b9 - IL_0025: ldarg.1 - IL_0026: stloc.s V_4 - IL_0028: ldarg.0 - IL_0029: ldfld int32 assembly/Point::x@ - IL_002e: stloc.s V_5 - IL_0030: ldloc.s V_4 - IL_0032: stloc.s V_6 - IL_0034: ldloc.s V_5 - IL_0036: ldloc.0 - IL_0037: ldc.i4.6 - IL_0038: shl - IL_0039: ldloc.0 - IL_003a: ldc.i4.2 - IL_003b: shr - IL_003c: add - IL_003d: add - IL_003e: add - IL_003f: stloc.0 - IL_0040: ldloc.0 - IL_0041: ret - - IL_0042: ldc.i4.0 - IL_0043: ret + IL_0012: ldloc.0 + IL_0013: ldc.i4.6 + IL_0014: shl + IL_0015: ldloc.0 + IL_0016: ldc.i4.2 + IL_0017: shr + IL_0018: add + IL_0019: add + IL_001a: add + IL_001b: stloc.0 + IL_001c: ldc.i4 0x9e3779b9 + IL_0021: ldarg.1 + IL_0022: stloc.2 + IL_0023: ldarg.0 + IL_0024: ldfld int32 assembly/Point::x@ + IL_0029: ldloc.0 + IL_002a: ldc.i4.6 + IL_002b: shl + IL_002c: ldloc.0 + IL_002d: ldc.i4.2 + IL_002e: shr + IL_002f: add + IL_0030: add + IL_0031: add + IL_0032: stloc.0 + IL_0033: ldloc.0 + IL_0034: ret + + IL_0035: ldc.i4.0 + IL_0036: ret } .method public hidebysig virtual final instance int32 GetHashCode() cil managed @@ -418,18 +370,12 @@ .maxstack 4 .locals init (class assembly/Point V_0, class [runtime]System.Collections.IEqualityComparer V_1, - int32 V_2, - int32 V_3, - class [runtime]System.Collections.IEqualityComparer V_4, - class [runtime]System.Collections.IEqualityComparer V_5, - int32 V_6, - int32 V_7, - class [runtime]System.Collections.IEqualityComparer V_8) + class [runtime]System.Collections.IEqualityComparer V_2) IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0043 + IL_0001: brfalse.s IL_002f IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0041 + IL_0004: brfalse.s IL_002d IL_0006: ldarg.1 IL_0007: stloc.0 @@ -437,44 +383,32 @@ IL_0009: stloc.1 IL_000a: ldarg.0 IL_000b: ldfld int32 assembly/Point::x@ - IL_0010: stloc.2 - IL_0011: ldloc.0 - IL_0012: ldfld int32 assembly/Point::x@ - IL_0017: stloc.3 - IL_0018: ldloc.1 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: ceq - IL_001f: brfalse.s IL_003f - - IL_0021: ldarg.2 - IL_0022: stloc.s V_5 - IL_0024: ldarg.0 - IL_0025: ldfld int32 assembly/Point::y@ - IL_002a: stloc.s V_6 - IL_002c: ldloc.0 - IL_002d: ldfld int32 assembly/Point::y@ - IL_0032: stloc.s V_7 - IL_0034: ldloc.s V_5 - IL_0036: stloc.s V_8 - IL_0038: ldloc.s V_6 - IL_003a: ldloc.s V_7 - IL_003c: ceq - IL_003e: ret - - IL_003f: ldc.i4.0 - IL_0040: ret - - IL_0041: ldc.i4.0 - IL_0042: ret - - IL_0043: ldarg.1 - IL_0044: ldnull - IL_0045: cgt.un - IL_0047: ldc.i4.0 - IL_0048: ceq - IL_004a: ret + IL_0010: ldloc.0 + IL_0011: ldfld int32 assembly/Point::x@ + IL_0016: ceq + IL_0018: brfalse.s IL_002b + + IL_001a: ldarg.2 + IL_001b: stloc.2 + IL_001c: ldarg.0 + IL_001d: ldfld int32 assembly/Point::y@ + IL_0022: ldloc.0 + IL_0023: ldfld int32 assembly/Point::y@ + IL_0028: ceq + IL_002a: ret + + IL_002b: ldc.i4.0 + IL_002c: ret + + IL_002d: ldc.i4.0 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: ldnull + IL_0031: cgt.un + IL_0033: ldc.i4.0 + IL_0034: ceq + IL_0036: ret } .method public hidebysig virtual final instance bool Equals(object obj, class [runtime]System.Collections.IEqualityComparer comp) cil managed @@ -585,11 +519,7 @@ native int V_3, int32 V_4, native int V_5, - int32 V_6, - native int V_7, - int32 V_8, - native int V_9, - int32 V_10) + int32 V_6) IL_0000: ldc.i4.1 IL_0001: ldc.i4.2 IL_0002: newobj instance void assembly/Point::.ctor(int32, @@ -606,33 +536,25 @@ IL_0014: ldc.i4.0 IL_0015: stloc.s V_4 IL_0017: ldloc.3 - IL_0018: stloc.s V_5 - IL_001a: ldloc.s V_4 - IL_001c: stloc.s V_6 - IL_001e: ldloc.s V_5 - IL_0020: ldloc.s V_6 - IL_0022: conv.i - IL_0023: sizeof [runtime]System.Int32 - IL_0029: mul - IL_002a: add - IL_002b: ldobj [runtime]System.Int32 - IL_0030: ldloc.1 - IL_0031: stloc.s V_7 - IL_0033: ldc.i4.1 - IL_0034: stloc.s V_8 - IL_0036: ldloc.s V_7 - IL_0038: stloc.s V_9 - IL_003a: ldloc.s V_8 - IL_003c: stloc.s V_10 - IL_003e: ldloc.s V_9 - IL_0040: ldloc.s V_10 - IL_0042: conv.i - IL_0043: sizeof [runtime]System.Int32 - IL_0049: mul - IL_004a: add - IL_004b: ldobj [runtime]System.Int32 - IL_0050: add - IL_0051: ret + IL_0018: ldloc.s V_4 + IL_001a: conv.i + IL_001b: sizeof [runtime]System.Int32 + IL_0021: mul + IL_0022: add + IL_0023: ldobj [runtime]System.Int32 + IL_0028: ldloc.1 + IL_0029: stloc.s V_5 + IL_002b: ldc.i4.1 + IL_002c: stloc.s V_6 + IL_002e: ldloc.s V_5 + IL_0030: ldloc.s V_6 + IL_0032: conv.i + IL_0033: sizeof [runtime]System.Int32 + IL_0039: mul + IL_003a: add + IL_003b: ldobj [runtime]System.Int32 + IL_0040: add + IL_0041: ret } .method public static int32 pinRef() cil managed @@ -670,97 +592,85 @@ native int V_4, int32 V_5, native int V_6, - int32 V_7, - native int V_8, - int32 V_9, - native int V_10, - int32 V_11) + int32 V_7) IL_0000: ldc.i4.6 IL_0001: newarr [runtime]System.Double IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: ldloc.s V_5 + IL_007c: conv.i + IL_007d: sizeof [runtime]System.Double + IL_0083: mul + IL_0084: add + IL_0085: ldobj [runtime]System.Double IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: stloc.s V_6 - IL_0094: ldloc.s V_5 - IL_0096: stloc.s V_7 - IL_0098: ldloc.s V_6 - IL_009a: ldloc.s V_7 - IL_009c: conv.i - IL_009d: sizeof [runtime]System.Double - IL_00a3: mul - IL_00a4: add - IL_00a5: ldobj [runtime]System.Double - IL_00aa: ldloc.1 - IL_00ab: stloc.s V_8 - IL_00ad: ldc.i4.1 - IL_00ae: stloc.s V_9 - IL_00b0: ldloc.s V_8 - IL_00b2: stloc.s V_10 - IL_00b4: ldloc.s V_9 - IL_00b6: stloc.s V_11 - IL_00b8: ldloc.s V_10 - IL_00ba: ldloc.s V_11 - IL_00bc: conv.i - IL_00bd: sizeof [runtime]System.Double - IL_00c3: mul - IL_00c4: add - IL_00c5: ldobj [runtime]System.Double - IL_00ca: add - IL_00cb: ret + IL_008b: stloc.s V_6 + IL_008d: ldc.i4.1 + IL_008e: stloc.s V_7 + IL_0090: ldloc.s V_6 + IL_0092: ldloc.s V_7 + IL_0094: conv.i + IL_0095: sizeof [runtime]System.Double + IL_009b: mul + IL_009c: add + IL_009d: ldobj [runtime]System.Double + IL_00a2: add + IL_00a3: ret } .method public static float64 pinArray2() cil managed @@ -773,77 +683,65 @@ native int V_3, int32 V_4, native int V_5, - int32 V_6, - native int V_7, - int32 V_8, - native int V_9, - int32 V_10) + int32 V_6) IL_0000: ldc.i4.6 IL_0001: newarr [runtime]System.Double IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: stloc.s V_5 - IL_007a: ldloc.s V_4 - IL_007c: stloc.s V_6 - IL_007e: ldloc.s V_5 - IL_0080: ldloc.s V_6 - IL_0082: conv.i - IL_0083: sizeof [runtime]System.Double - IL_0089: mul - IL_008a: add - IL_008b: ldobj [runtime]System.Double - IL_0090: ldloc.1 - IL_0091: stloc.s V_7 - IL_0093: ldc.i4.1 - IL_0094: stloc.s V_8 - IL_0096: ldloc.s V_7 - IL_0098: stloc.s V_9 - IL_009a: ldloc.s V_8 - IL_009c: stloc.s V_10 - IL_009e: ldloc.s V_9 - IL_00a0: ldloc.s V_10 - IL_00a2: conv.i - IL_00a3: sizeof [runtime]System.Double - IL_00a9: mul - IL_00aa: add - IL_00ab: ldobj [runtime]System.Double - IL_00b0: add - IL_00b1: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldloc.s V_4 + IL_0062: conv.i + IL_0063: sizeof [runtime]System.Double + IL_0069: mul + IL_006a: add + IL_006b: ldobj [runtime]System.Double + IL_0070: ldloc.1 + IL_0071: stloc.s V_5 + IL_0073: ldc.i4.1 + IL_0074: stloc.s V_6 + IL_0076: ldloc.s V_5 + IL_0078: ldloc.s V_6 + IL_007a: conv.i + IL_007b: sizeof [runtime]System.Double + IL_0081: mul + IL_0082: add + IL_0083: ldobj [runtime]System.Double + IL_0088: add + IL_0089: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed @@ -852,30 +750,26 @@ .maxstack 6 .locals init (string V_0, native int V_1, - string pinned V_2, + char& pinned V_2, native int V_3, int32 V_4, native int V_5, - int32 V_6, - native int V_7, - int32 V_8, - native int V_9, - int32 V_10) + int32 V_6) IL_0000: ldstr "Hello World" IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: stloc.2 - IL_0008: ldloc.2 - IL_0009: brfalse.s IL_0016 - - IL_000b: ldloc.2 - IL_000c: conv.i - IL_000d: call int32 [runtime]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData() - IL_0012: add + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0016 + + IL_000a: ldloc.0 + IL_000b: callvirt instance char& modreq([runtime]System.Runtime.InteropServices.InAttribute) [runtime]System.String::GetPinnableReference() + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: conv.i IL_0013: nop IL_0014: br.s IL_0018 - IL_0016: ldloc.2 + IL_0016: ldloc.0 IL_0017: nop IL_0018: stloc.1 IL_0019: ldloc.1 @@ -883,34 +777,26 @@ IL_001b: ldc.i4.0 IL_001c: stloc.s V_4 IL_001e: ldloc.3 - IL_001f: stloc.s V_5 - IL_0021: ldloc.s V_4 - IL_0023: stloc.s V_6 - IL_0025: ldloc.s V_5 - IL_0027: ldloc.s V_6 - IL_0029: conv.i - IL_002a: sizeof [runtime]System.Char - IL_0030: mul - IL_0031: add - IL_0032: ldobj [runtime]System.Char - IL_0037: ldloc.1 - IL_0038: stloc.s V_7 - IL_003a: ldc.i4.1 - IL_003b: stloc.s V_8 - IL_003d: ldloc.s V_7 - IL_003f: stloc.s V_9 - IL_0041: ldloc.s V_8 - IL_0043: stloc.s V_10 - IL_0045: ldloc.s V_9 - IL_0047: ldloc.s V_10 - IL_0049: conv.i - IL_004a: sizeof [runtime]System.Char - IL_0050: mul - IL_0051: add - IL_0052: ldobj [runtime]System.Char - IL_0057: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_001f: ldloc.s V_4 + IL_0021: conv.i + IL_0022: sizeof [runtime]System.Char + IL_0028: mul + IL_0029: add + IL_002a: ldobj [runtime]System.Char + IL_002f: ldloc.1 + IL_0030: stloc.s V_5 + IL_0032: ldc.i4.1 + IL_0033: stloc.s V_6 + IL_0035: ldloc.s V_5 + IL_0037: ldloc.s V_6 + IL_0039: conv.i + IL_003a: sizeof [runtime]System.Char + IL_0040: mul + IL_0041: add + IL_0042: ldobj [runtime]System.Char + IL_0047: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_005c: ret + IL_004c: ret } } @@ -932,4 +818,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.release.bsl index 3cea4952abe..b4424e5c131 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOff.il.netcore.release.bsl @@ -598,79 +598,79 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: ldloc.s V_5 + IL_007c: conv.i + IL_007d: sizeof [runtime]System.Double + IL_0083: mul + IL_0084: add + IL_0085: ldobj [runtime]System.Double IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: ldloc.s V_5 + IL_008b: stloc.s V_6 + IL_008d: ldc.i4.1 + IL_008e: stloc.s V_7 + IL_0090: ldloc.s V_6 + IL_0092: ldloc.s V_7 IL_0094: conv.i IL_0095: sizeof [runtime]System.Double IL_009b: mul IL_009c: add IL_009d: ldobj [runtime]System.Double - IL_00a2: ldloc.1 - IL_00a3: stloc.s V_6 - IL_00a5: ldc.i4.1 - IL_00a6: stloc.s V_7 - IL_00a8: ldloc.s V_6 - IL_00aa: ldloc.s V_7 - IL_00ac: conv.i - IL_00ad: sizeof [runtime]System.Double - IL_00b3: mul - IL_00b4: add - IL_00b5: ldobj [runtime]System.Double - IL_00ba: add - IL_00bb: ret + IL_00a2: add + IL_00a3: ret } .method public static float64 pinArray2() cil managed @@ -689,59 +689,59 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: ldloc.s V_4 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldloc.s V_4 + IL_0062: conv.i + IL_0063: sizeof [runtime]System.Double + IL_0069: mul + IL_006a: add + IL_006b: ldobj [runtime]System.Double + IL_0070: ldloc.1 + IL_0071: stloc.s V_5 + IL_0073: ldc.i4.1 + IL_0074: stloc.s V_6 + IL_0076: ldloc.s V_5 + IL_0078: ldloc.s V_6 IL_007a: conv.i IL_007b: sizeof [runtime]System.Double IL_0081: mul IL_0082: add IL_0083: ldobj [runtime]System.Double - IL_0088: ldloc.1 - IL_0089: stloc.s V_5 - IL_008b: ldc.i4.1 - IL_008c: stloc.s V_6 - IL_008e: ldloc.s V_5 - IL_0090: ldloc.s V_6 - IL_0092: conv.i - IL_0093: sizeof [runtime]System.Double - IL_0099: mul - IL_009a: add - IL_009b: ldobj [runtime]System.Double - IL_00a0: add - IL_00a1: ret + IL_0088: add + IL_0089: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.debug.bsl index 5ce65a01960..b478624445f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.debug.bsl @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.release.bsl index 9b4153c5532..a87cc818438 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.net472.release.bsl @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.debug.bsl index f4025c40141..28fe7607cdd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.debug.bsl @@ -523,7 +523,7 @@ native int V_1, int32& pinned V_2) IL_0000: ldc.i4.s 17 - IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0002: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) IL_0007: stloc.0 IL_0008: ldloc.0 IL_0009: ldflda !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::contents@ @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed @@ -681,32 +681,31 @@ .maxstack 6 .locals init (native int V_0, - string pinned V_1) + char& pinned V_1) IL_0000: nop IL_0001: ldstr "Hello World" - IL_0006: stloc.1 - IL_0007: ldstr "Hello World" - IL_000c: conv.i - IL_000d: call int32 [runtime]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData() - IL_0012: add - IL_0013: stloc.0 - IL_0014: ldloc.0 - IL_0015: ldc.i4.0 - IL_0016: conv.i - IL_0017: sizeof [runtime]System.Char - IL_001d: mul - IL_001e: add - IL_001f: ldobj [runtime]System.Char - IL_0024: ldloc.0 - IL_0025: ldc.i4.1 - IL_0026: conv.i - IL_0027: sizeof [runtime]System.Char - IL_002d: mul - IL_002e: add - IL_002f: ldobj [runtime]System.Char - IL_0034: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_0006: callvirt instance char& modreq([runtime]System.Runtime.InteropServices.InAttribute) [runtime]System.String::GetPinnableReference() + IL_000b: stloc.1 + IL_000c: ldloc.1 + IL_000d: conv.i + IL_000e: stloc.0 + IL_000f: ldloc.0 + IL_0010: ldc.i4.0 + IL_0011: conv.i + IL_0012: sizeof [runtime]System.Char + IL_0018: mul + IL_0019: add + IL_001a: ldobj [runtime]System.Char + IL_001f: ldloc.0 + IL_0020: ldc.i4.1 + IL_0021: conv.i + IL_0022: sizeof [runtime]System.Char + IL_0028: mul + IL_0029: add + IL_002a: ldobj [runtime]System.Char + IL_002f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_0039: ret + IL_0034: ret } } @@ -728,4 +727,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.release.bsl index ec08b05e0ae..28fe7607cdd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOff.OptimizeOn.il.netcore.release.bsl @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.debug.bsl index 7852e2509a4..49122ee1b8d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.debug.bsl @@ -680,87 +680,87 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 - IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: stloc.s V_6 - IL_0094: ldloc.s V_5 - IL_0096: stloc.s V_7 - IL_0098: ldloc.s V_6 - IL_009a: ldloc.s V_7 - IL_009c: conv.i - IL_009d: sizeof [runtime]System.Double - IL_00a3: mul - IL_00a4: add - IL_00a5: ldobj [runtime]System.Double - IL_00aa: ldloc.1 - IL_00ab: stloc.s V_8 - IL_00ad: ldc.i4.1 - IL_00ae: stloc.s V_9 - IL_00b0: ldloc.s V_8 - IL_00b2: stloc.s V_10 - IL_00b4: ldloc.s V_9 - IL_00b6: stloc.s V_11 - IL_00b8: ldloc.s V_10 - IL_00ba: ldloc.s V_11 - IL_00bc: conv.i - IL_00bd: sizeof [runtime]System.Double - IL_00c3: mul - IL_00c4: add - IL_00c5: ldobj [runtime]System.Double - IL_00ca: add - IL_00cb: ret + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: stloc.s V_6 + IL_007c: ldloc.s V_5 + IL_007e: stloc.s V_7 + IL_0080: ldloc.s V_6 + IL_0082: ldloc.s V_7 + IL_0084: conv.i + IL_0085: sizeof [runtime]System.Double + IL_008b: mul + IL_008c: add + IL_008d: ldobj [runtime]System.Double + IL_0092: ldloc.1 + IL_0093: stloc.s V_8 + IL_0095: ldc.i4.1 + IL_0096: stloc.s V_9 + IL_0098: ldloc.s V_8 + IL_009a: stloc.s V_10 + IL_009c: ldloc.s V_9 + IL_009e: stloc.s V_11 + IL_00a0: ldloc.s V_10 + IL_00a2: ldloc.s V_11 + IL_00a4: conv.i + IL_00a5: sizeof [runtime]System.Double + IL_00ab: mul + IL_00ac: add + IL_00ad: ldobj [runtime]System.Double + IL_00b2: add + IL_00b3: ret } .method public static float64 pinArray2() cil managed @@ -783,67 +783,67 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: stloc.s V_5 - IL_007a: ldloc.s V_4 - IL_007c: stloc.s V_6 - IL_007e: ldloc.s V_5 - IL_0080: ldloc.s V_6 - IL_0082: conv.i - IL_0083: sizeof [runtime]System.Double - IL_0089: mul - IL_008a: add - IL_008b: ldobj [runtime]System.Double - IL_0090: ldloc.1 - IL_0091: stloc.s V_7 - IL_0093: ldc.i4.1 - IL_0094: stloc.s V_8 - IL_0096: ldloc.s V_7 - IL_0098: stloc.s V_9 - IL_009a: ldloc.s V_8 - IL_009c: stloc.s V_10 - IL_009e: ldloc.s V_9 - IL_00a0: ldloc.s V_10 - IL_00a2: conv.i - IL_00a3: sizeof [runtime]System.Double - IL_00a9: mul - IL_00aa: add - IL_00ab: ldobj [runtime]System.Double - IL_00b0: add - IL_00b1: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: stloc.s V_5 + IL_0062: ldloc.s V_4 + IL_0064: stloc.s V_6 + IL_0066: ldloc.s V_5 + IL_0068: ldloc.s V_6 + IL_006a: conv.i + IL_006b: sizeof [runtime]System.Double + IL_0071: mul + IL_0072: add + IL_0073: ldobj [runtime]System.Double + IL_0078: ldloc.1 + IL_0079: stloc.s V_7 + IL_007b: ldc.i4.1 + IL_007c: stloc.s V_8 + IL_007e: ldloc.s V_7 + IL_0080: stloc.s V_9 + IL_0082: ldloc.s V_8 + IL_0084: stloc.s V_10 + IL_0086: ldloc.s V_9 + IL_0088: ldloc.s V_10 + IL_008a: conv.i + IL_008b: sizeof [runtime]System.Double + IL_0091: mul + IL_0092: add + IL_0093: ldobj [runtime]System.Double + IL_0098: add + IL_0099: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.release.bsl index ab7bca6340a..01a58c52c7d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.net472.release.bsl @@ -598,79 +598,79 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: ldloc.s V_5 + IL_007c: conv.i + IL_007d: sizeof [runtime]System.Double + IL_0083: mul + IL_0084: add + IL_0085: ldobj [runtime]System.Double IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: ldloc.s V_5 + IL_008b: stloc.s V_6 + IL_008d: ldc.i4.1 + IL_008e: stloc.s V_7 + IL_0090: ldloc.s V_6 + IL_0092: ldloc.s V_7 IL_0094: conv.i IL_0095: sizeof [runtime]System.Double IL_009b: mul IL_009c: add IL_009d: ldobj [runtime]System.Double - IL_00a2: ldloc.1 - IL_00a3: stloc.s V_6 - IL_00a5: ldc.i4.1 - IL_00a6: stloc.s V_7 - IL_00a8: ldloc.s V_6 - IL_00aa: ldloc.s V_7 - IL_00ac: conv.i - IL_00ad: sizeof [runtime]System.Double - IL_00b3: mul - IL_00b4: add - IL_00b5: ldobj [runtime]System.Double - IL_00ba: add - IL_00bb: ret + IL_00a2: add + IL_00a3: ret } .method public static float64 pinArray2() cil managed @@ -689,59 +689,59 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: ldloc.s V_4 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldloc.s V_4 + IL_0062: conv.i + IL_0063: sizeof [runtime]System.Double + IL_0069: mul + IL_006a: add + IL_006b: ldobj [runtime]System.Double + IL_0070: ldloc.1 + IL_0071: stloc.s V_5 + IL_0073: ldc.i4.1 + IL_0074: stloc.s V_6 + IL_0076: ldloc.s V_5 + IL_0078: ldloc.s V_6 IL_007a: conv.i IL_007b: sizeof [runtime]System.Double IL_0081: mul IL_0082: add IL_0083: ldobj [runtime]System.Double - IL_0088: ldloc.1 - IL_0089: stloc.s V_5 - IL_008b: ldc.i4.1 - IL_008c: stloc.s V_6 - IL_008e: ldloc.s V_5 - IL_0090: ldloc.s V_6 - IL_0092: conv.i - IL_0093: sizeof [runtime]System.Double - IL_0099: mul - IL_009a: add - IL_009b: ldobj [runtime]System.Double - IL_00a0: add - IL_00a1: ret + IL_0088: add + IL_0089: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.debug.bsl index bda000c5fe3..b4424e5c131 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.debug.bsl @@ -136,18 +136,12 @@ int32 V_3, class [runtime]System.Collections.IComparer V_4, int32 V_5, - int32 V_6, - class [runtime]System.Collections.IComparer V_7, - int32 V_8, - int32 V_9, - class [runtime]System.Collections.IComparer V_10, - int32 V_11, - int32 V_12) + int32 V_6) IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0070 + IL_0001: brfalse.s IL_0057 IL_0003: ldarg.1 - IL_0004: brfalse.s IL_006e + IL_0004: brfalse.s IL_0055 IL_0006: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_000b: stloc.1 @@ -157,68 +151,56 @@ IL_0013: ldarg.1 IL_0014: ldfld int32 assembly/Point::x@ IL_0019: stloc.3 - IL_001a: ldloc.1 - IL_001b: stloc.s V_4 - IL_001d: ldloc.2 - IL_001e: stloc.s V_5 - IL_0020: ldloc.3 - IL_0021: stloc.s V_6 - IL_0023: ldloc.s V_5 - IL_0025: ldloc.s V_6 - IL_0027: cgt - IL_0029: ldloc.s V_5 - IL_002b: ldloc.s V_6 - IL_002d: clt - IL_002f: sub - IL_0030: stloc.0 - IL_0031: ldloc.0 - IL_0032: ldc.i4.0 - IL_0033: bge.s IL_0037 - - IL_0035: ldloc.0 - IL_0036: ret + IL_001a: ldloc.2 + IL_001b: ldloc.3 + IL_001c: cgt + IL_001e: ldloc.2 + IL_001f: ldloc.3 + IL_0020: clt + IL_0022: sub + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: ldc.i4.0 + IL_0026: bge.s IL_002a + + IL_0028: ldloc.0 + IL_0029: ret - IL_0037: ldloc.0 - IL_0038: ldc.i4.0 - IL_0039: ble.s IL_003d - - IL_003b: ldloc.0 - IL_003c: ret - - IL_003d: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0042: stloc.s V_7 - IL_0044: ldarg.0 - IL_0045: ldfld int32 assembly/Point::y@ - IL_004a: stloc.s V_8 - IL_004c: ldarg.1 - IL_004d: ldfld int32 assembly/Point::y@ - IL_0052: stloc.s V_9 - IL_0054: ldloc.s V_7 - IL_0056: stloc.s V_10 - IL_0058: ldloc.s V_8 - IL_005a: stloc.s V_11 - IL_005c: ldloc.s V_9 - IL_005e: stloc.s V_12 - IL_0060: ldloc.s V_11 - IL_0062: ldloc.s V_12 - IL_0064: cgt - IL_0066: ldloc.s V_11 - IL_0068: ldloc.s V_12 - IL_006a: clt - IL_006c: sub - IL_006d: ret - - IL_006e: ldc.i4.1 - IL_006f: ret - - IL_0070: ldarg.1 - IL_0071: brfalse.s IL_0075 - - IL_0073: ldc.i4.m1 - IL_0074: ret - - IL_0075: ldc.i4.0 - IL_0076: ret + IL_002a: ldloc.0 + IL_002b: ldc.i4.0 + IL_002c: ble.s IL_0030 + + IL_002e: ldloc.0 + IL_002f: ret + + IL_0030: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0035: stloc.s V_4 + IL_0037: ldarg.0 + IL_0038: ldfld int32 assembly/Point::y@ + IL_003d: stloc.s V_5 + IL_003f: ldarg.1 + IL_0040: ldfld int32 assembly/Point::y@ + IL_0045: stloc.s V_6 + IL_0047: ldloc.s V_5 + IL_0049: ldloc.s V_6 + IL_004b: cgt + IL_004d: ldloc.s V_5 + IL_004f: ldloc.s V_6 + IL_0051: clt + IL_0053: sub + IL_0054: ret + + IL_0055: ldc.i4.1 + IL_0056: ret + + IL_0057: ldarg.1 + IL_0058: brfalse.s IL_005c + + IL_005a: ldc.i4.m1 + IL_005b: ret + + IL_005c: ldc.i4.0 + IL_005d: ret } .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed @@ -246,24 +228,18 @@ int32 V_5, class [runtime]System.Collections.IComparer V_6, int32 V_7, - int32 V_8, - class [runtime]System.Collections.IComparer V_9, - int32 V_10, - int32 V_11, - class [runtime]System.Collections.IComparer V_12, - int32 V_13, - int32 V_14) + int32 V_8) IL_0000: ldarg.1 IL_0001: unbox.any assembly/Point IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: stloc.1 IL_0009: ldarg.0 - IL_000a: brfalse.s IL_007a + IL_000a: brfalse.s IL_0063 IL_000c: ldarg.1 IL_000d: unbox.any assembly/Point - IL_0012: brfalse.s IL_0078 + IL_0012: brfalse.s IL_0061 IL_0014: ldarg.2 IL_0015: stloc.3 @@ -273,69 +249,57 @@ IL_001e: ldloc.1 IL_001f: ldfld int32 assembly/Point::x@ IL_0024: stloc.s V_5 - IL_0026: ldloc.3 - IL_0027: stloc.s V_6 - IL_0029: ldloc.s V_4 - IL_002b: stloc.s V_7 - IL_002d: ldloc.s V_5 - IL_002f: stloc.s V_8 - IL_0031: ldloc.s V_7 - IL_0033: ldloc.s V_8 - IL_0035: cgt - IL_0037: ldloc.s V_7 - IL_0039: ldloc.s V_8 - IL_003b: clt - IL_003d: sub - IL_003e: stloc.2 - IL_003f: ldloc.2 - IL_0040: ldc.i4.0 - IL_0041: bge.s IL_0045 - - IL_0043: ldloc.2 - IL_0044: ret - - IL_0045: ldloc.2 - IL_0046: ldc.i4.0 - IL_0047: ble.s IL_004b - - IL_0049: ldloc.2 - IL_004a: ret - - IL_004b: ldarg.2 - IL_004c: stloc.s V_9 - IL_004e: ldarg.0 - IL_004f: ldfld int32 assembly/Point::y@ - IL_0054: stloc.s V_10 - IL_0056: ldloc.1 - IL_0057: ldfld int32 assembly/Point::y@ - IL_005c: stloc.s V_11 - IL_005e: ldloc.s V_9 - IL_0060: stloc.s V_12 - IL_0062: ldloc.s V_10 - IL_0064: stloc.s V_13 - IL_0066: ldloc.s V_11 - IL_0068: stloc.s V_14 - IL_006a: ldloc.s V_13 - IL_006c: ldloc.s V_14 - IL_006e: cgt - IL_0070: ldloc.s V_13 - IL_0072: ldloc.s V_14 - IL_0074: clt - IL_0076: sub - IL_0077: ret - - IL_0078: ldc.i4.1 - IL_0079: ret - - IL_007a: ldarg.1 - IL_007b: unbox.any assembly/Point - IL_0080: brfalse.s IL_0084 - - IL_0082: ldc.i4.m1 - IL_0083: ret - - IL_0084: ldc.i4.0 - IL_0085: ret + IL_0026: ldloc.s V_4 + IL_0028: ldloc.s V_5 + IL_002a: cgt + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: clt + IL_0032: sub + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: ldc.i4.0 + IL_0036: bge.s IL_003a + + IL_0038: ldloc.2 + IL_0039: ret + + IL_003a: ldloc.2 + IL_003b: ldc.i4.0 + IL_003c: ble.s IL_0040 + + IL_003e: ldloc.2 + IL_003f: ret + + IL_0040: ldarg.2 + IL_0041: stloc.s V_6 + IL_0043: ldarg.0 + IL_0044: ldfld int32 assembly/Point::y@ + IL_0049: stloc.s V_7 + IL_004b: ldloc.1 + IL_004c: ldfld int32 assembly/Point::y@ + IL_0051: stloc.s V_8 + IL_0053: ldloc.s V_7 + IL_0055: ldloc.s V_8 + IL_0057: cgt + IL_0059: ldloc.s V_7 + IL_005b: ldloc.s V_8 + IL_005d: clt + IL_005f: sub + IL_0060: ret + + IL_0061: ldc.i4.1 + IL_0062: ret + + IL_0063: ldarg.1 + IL_0064: unbox.any assembly/Point + IL_0069: brfalse.s IL_006d + + IL_006b: ldc.i4.m1 + IL_006c: ret + + IL_006d: ldc.i4.0 + IL_006e: ret } .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed @@ -345,13 +309,9 @@ .maxstack 7 .locals init (int32 V_0, class [runtime]System.Collections.IEqualityComparer V_1, - int32 V_2, - class [runtime]System.Collections.IEqualityComparer V_3, - class [runtime]System.Collections.IEqualityComparer V_4, - int32 V_5, - class [runtime]System.Collections.IEqualityComparer V_6) + class [runtime]System.Collections.IEqualityComparer V_2) IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0042 + IL_0001: brfalse.s IL_0035 IL_0003: ldc.i4.0 IL_0004: stloc.0 @@ -360,44 +320,36 @@ IL_000b: stloc.1 IL_000c: ldarg.0 IL_000d: ldfld int32 assembly/Point::y@ - IL_0012: stloc.2 - IL_0013: ldloc.1 - IL_0014: stloc.3 - IL_0015: ldloc.2 - IL_0016: ldloc.0 - IL_0017: ldc.i4.6 - IL_0018: shl - IL_0019: ldloc.0 - IL_001a: ldc.i4.2 - IL_001b: shr - IL_001c: add - IL_001d: add - IL_001e: add - IL_001f: stloc.0 - IL_0020: ldc.i4 0x9e3779b9 - IL_0025: ldarg.1 - IL_0026: stloc.s V_4 - IL_0028: ldarg.0 - IL_0029: ldfld int32 assembly/Point::x@ - IL_002e: stloc.s V_5 - IL_0030: ldloc.s V_4 - IL_0032: stloc.s V_6 - IL_0034: ldloc.s V_5 - IL_0036: ldloc.0 - IL_0037: ldc.i4.6 - IL_0038: shl - IL_0039: ldloc.0 - IL_003a: ldc.i4.2 - IL_003b: shr - IL_003c: add - IL_003d: add - IL_003e: add - IL_003f: stloc.0 - IL_0040: ldloc.0 - IL_0041: ret - - IL_0042: ldc.i4.0 - IL_0043: ret + IL_0012: ldloc.0 + IL_0013: ldc.i4.6 + IL_0014: shl + IL_0015: ldloc.0 + IL_0016: ldc.i4.2 + IL_0017: shr + IL_0018: add + IL_0019: add + IL_001a: add + IL_001b: stloc.0 + IL_001c: ldc.i4 0x9e3779b9 + IL_0021: ldarg.1 + IL_0022: stloc.2 + IL_0023: ldarg.0 + IL_0024: ldfld int32 assembly/Point::x@ + IL_0029: ldloc.0 + IL_002a: ldc.i4.6 + IL_002b: shl + IL_002c: ldloc.0 + IL_002d: ldc.i4.2 + IL_002e: shr + IL_002f: add + IL_0030: add + IL_0031: add + IL_0032: stloc.0 + IL_0033: ldloc.0 + IL_0034: ret + + IL_0035: ldc.i4.0 + IL_0036: ret } .method public hidebysig virtual final instance int32 GetHashCode() cil managed @@ -418,18 +370,12 @@ .maxstack 4 .locals init (class assembly/Point V_0, class [runtime]System.Collections.IEqualityComparer V_1, - int32 V_2, - int32 V_3, - class [runtime]System.Collections.IEqualityComparer V_4, - class [runtime]System.Collections.IEqualityComparer V_5, - int32 V_6, - int32 V_7, - class [runtime]System.Collections.IEqualityComparer V_8) + class [runtime]System.Collections.IEqualityComparer V_2) IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0043 + IL_0001: brfalse.s IL_002f IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0041 + IL_0004: brfalse.s IL_002d IL_0006: ldarg.1 IL_0007: stloc.0 @@ -437,44 +383,32 @@ IL_0009: stloc.1 IL_000a: ldarg.0 IL_000b: ldfld int32 assembly/Point::x@ - IL_0010: stloc.2 - IL_0011: ldloc.0 - IL_0012: ldfld int32 assembly/Point::x@ - IL_0017: stloc.3 - IL_0018: ldloc.1 - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: ceq - IL_001f: brfalse.s IL_003f - - IL_0021: ldarg.2 - IL_0022: stloc.s V_5 - IL_0024: ldarg.0 - IL_0025: ldfld int32 assembly/Point::y@ - IL_002a: stloc.s V_6 - IL_002c: ldloc.0 - IL_002d: ldfld int32 assembly/Point::y@ - IL_0032: stloc.s V_7 - IL_0034: ldloc.s V_5 - IL_0036: stloc.s V_8 - IL_0038: ldloc.s V_6 - IL_003a: ldloc.s V_7 - IL_003c: ceq - IL_003e: ret - - IL_003f: ldc.i4.0 - IL_0040: ret - - IL_0041: ldc.i4.0 - IL_0042: ret - - IL_0043: ldarg.1 - IL_0044: ldnull - IL_0045: cgt.un - IL_0047: ldc.i4.0 - IL_0048: ceq - IL_004a: ret + IL_0010: ldloc.0 + IL_0011: ldfld int32 assembly/Point::x@ + IL_0016: ceq + IL_0018: brfalse.s IL_002b + + IL_001a: ldarg.2 + IL_001b: stloc.2 + IL_001c: ldarg.0 + IL_001d: ldfld int32 assembly/Point::y@ + IL_0022: ldloc.0 + IL_0023: ldfld int32 assembly/Point::y@ + IL_0028: ceq + IL_002a: ret + + IL_002b: ldc.i4.0 + IL_002c: ret + + IL_002d: ldc.i4.0 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: ldnull + IL_0031: cgt.un + IL_0033: ldc.i4.0 + IL_0034: ceq + IL_0036: ret } .method public hidebysig virtual final instance bool Equals(object obj, class [runtime]System.Collections.IEqualityComparer comp) cil managed @@ -585,11 +519,7 @@ native int V_3, int32 V_4, native int V_5, - int32 V_6, - native int V_7, - int32 V_8, - native int V_9, - int32 V_10) + int32 V_6) IL_0000: ldc.i4.1 IL_0001: ldc.i4.2 IL_0002: newobj instance void assembly/Point::.ctor(int32, @@ -606,33 +536,25 @@ IL_0014: ldc.i4.0 IL_0015: stloc.s V_4 IL_0017: ldloc.3 - IL_0018: stloc.s V_5 - IL_001a: ldloc.s V_4 - IL_001c: stloc.s V_6 - IL_001e: ldloc.s V_5 - IL_0020: ldloc.s V_6 - IL_0022: conv.i - IL_0023: sizeof [runtime]System.Int32 - IL_0029: mul - IL_002a: add - IL_002b: ldobj [runtime]System.Int32 - IL_0030: ldloc.1 - IL_0031: stloc.s V_7 - IL_0033: ldc.i4.1 - IL_0034: stloc.s V_8 - IL_0036: ldloc.s V_7 - IL_0038: stloc.s V_9 - IL_003a: ldloc.s V_8 - IL_003c: stloc.s V_10 - IL_003e: ldloc.s V_9 - IL_0040: ldloc.s V_10 - IL_0042: conv.i - IL_0043: sizeof [runtime]System.Int32 - IL_0049: mul - IL_004a: add - IL_004b: ldobj [runtime]System.Int32 - IL_0050: add - IL_0051: ret + IL_0018: ldloc.s V_4 + IL_001a: conv.i + IL_001b: sizeof [runtime]System.Int32 + IL_0021: mul + IL_0022: add + IL_0023: ldobj [runtime]System.Int32 + IL_0028: ldloc.1 + IL_0029: stloc.s V_5 + IL_002b: ldc.i4.1 + IL_002c: stloc.s V_6 + IL_002e: ldloc.s V_5 + IL_0030: ldloc.s V_6 + IL_0032: conv.i + IL_0033: sizeof [runtime]System.Int32 + IL_0039: mul + IL_003a: add + IL_003b: ldobj [runtime]System.Int32 + IL_0040: add + IL_0041: ret } .method public static int32 pinRef() cil managed @@ -670,97 +592,85 @@ native int V_4, int32 V_5, native int V_6, - int32 V_7, - native int V_8, - int32 V_9, - native int V_10, - int32 V_11) + int32 V_7) IL_0000: ldc.i4.6 IL_0001: newarr [runtime]System.Double IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: ldloc.s V_5 + IL_007c: conv.i + IL_007d: sizeof [runtime]System.Double + IL_0083: mul + IL_0084: add + IL_0085: ldobj [runtime]System.Double IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: stloc.s V_6 - IL_0094: ldloc.s V_5 - IL_0096: stloc.s V_7 - IL_0098: ldloc.s V_6 - IL_009a: ldloc.s V_7 - IL_009c: conv.i - IL_009d: sizeof [runtime]System.Double - IL_00a3: mul - IL_00a4: add - IL_00a5: ldobj [runtime]System.Double - IL_00aa: ldloc.1 - IL_00ab: stloc.s V_8 - IL_00ad: ldc.i4.1 - IL_00ae: stloc.s V_9 - IL_00b0: ldloc.s V_8 - IL_00b2: stloc.s V_10 - IL_00b4: ldloc.s V_9 - IL_00b6: stloc.s V_11 - IL_00b8: ldloc.s V_10 - IL_00ba: ldloc.s V_11 - IL_00bc: conv.i - IL_00bd: sizeof [runtime]System.Double - IL_00c3: mul - IL_00c4: add - IL_00c5: ldobj [runtime]System.Double - IL_00ca: add - IL_00cb: ret + IL_008b: stloc.s V_6 + IL_008d: ldc.i4.1 + IL_008e: stloc.s V_7 + IL_0090: ldloc.s V_6 + IL_0092: ldloc.s V_7 + IL_0094: conv.i + IL_0095: sizeof [runtime]System.Double + IL_009b: mul + IL_009c: add + IL_009d: ldobj [runtime]System.Double + IL_00a2: add + IL_00a3: ret } .method public static float64 pinArray2() cil managed @@ -773,77 +683,65 @@ native int V_3, int32 V_4, native int V_5, - int32 V_6, - native int V_7, - int32 V_8, - native int V_9, - int32 V_10) + int32 V_6) IL_0000: ldc.i4.6 IL_0001: newarr [runtime]System.Double IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: stloc.s V_5 - IL_007a: ldloc.s V_4 - IL_007c: stloc.s V_6 - IL_007e: ldloc.s V_5 - IL_0080: ldloc.s V_6 - IL_0082: conv.i - IL_0083: sizeof [runtime]System.Double - IL_0089: mul - IL_008a: add - IL_008b: ldobj [runtime]System.Double - IL_0090: ldloc.1 - IL_0091: stloc.s V_7 - IL_0093: ldc.i4.1 - IL_0094: stloc.s V_8 - IL_0096: ldloc.s V_7 - IL_0098: stloc.s V_9 - IL_009a: ldloc.s V_8 - IL_009c: stloc.s V_10 - IL_009e: ldloc.s V_9 - IL_00a0: ldloc.s V_10 - IL_00a2: conv.i - IL_00a3: sizeof [runtime]System.Double - IL_00a9: mul - IL_00aa: add - IL_00ab: ldobj [runtime]System.Double - IL_00b0: add - IL_00b1: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldloc.s V_4 + IL_0062: conv.i + IL_0063: sizeof [runtime]System.Double + IL_0069: mul + IL_006a: add + IL_006b: ldobj [runtime]System.Double + IL_0070: ldloc.1 + IL_0071: stloc.s V_5 + IL_0073: ldc.i4.1 + IL_0074: stloc.s V_6 + IL_0076: ldloc.s V_5 + IL_0078: ldloc.s V_6 + IL_007a: conv.i + IL_007b: sizeof [runtime]System.Double + IL_0081: mul + IL_0082: add + IL_0083: ldobj [runtime]System.Double + IL_0088: add + IL_0089: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed @@ -852,30 +750,26 @@ .maxstack 6 .locals init (string V_0, native int V_1, - string pinned V_2, + char& pinned V_2, native int V_3, int32 V_4, native int V_5, - int32 V_6, - native int V_7, - int32 V_8, - native int V_9, - int32 V_10) + int32 V_6) IL_0000: ldstr "Hello World" IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: stloc.2 - IL_0008: ldloc.2 - IL_0009: brfalse.s IL_0016 - - IL_000b: ldloc.2 - IL_000c: conv.i - IL_000d: call int32 [runtime]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData() - IL_0012: add + IL_0006: nop + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0016 + + IL_000a: ldloc.0 + IL_000b: callvirt instance char& modreq([runtime]System.Runtime.InteropServices.InAttribute) [runtime]System.String::GetPinnableReference() + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: conv.i IL_0013: nop IL_0014: br.s IL_0018 - IL_0016: ldloc.2 + IL_0016: ldloc.0 IL_0017: nop IL_0018: stloc.1 IL_0019: ldloc.1 @@ -883,34 +777,26 @@ IL_001b: ldc.i4.0 IL_001c: stloc.s V_4 IL_001e: ldloc.3 - IL_001f: stloc.s V_5 - IL_0021: ldloc.s V_4 - IL_0023: stloc.s V_6 - IL_0025: ldloc.s V_5 - IL_0027: ldloc.s V_6 - IL_0029: conv.i - IL_002a: sizeof [runtime]System.Char - IL_0030: mul - IL_0031: add - IL_0032: ldobj [runtime]System.Char - IL_0037: ldloc.1 - IL_0038: stloc.s V_7 - IL_003a: ldc.i4.1 - IL_003b: stloc.s V_8 - IL_003d: ldloc.s V_7 - IL_003f: stloc.s V_9 - IL_0041: ldloc.s V_8 - IL_0043: stloc.s V_10 - IL_0045: ldloc.s V_9 - IL_0047: ldloc.s V_10 - IL_0049: conv.i - IL_004a: sizeof [runtime]System.Char - IL_0050: mul - IL_0051: add - IL_0052: ldobj [runtime]System.Char - IL_0057: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_001f: ldloc.s V_4 + IL_0021: conv.i + IL_0022: sizeof [runtime]System.Char + IL_0028: mul + IL_0029: add + IL_002a: ldobj [runtime]System.Char + IL_002f: ldloc.1 + IL_0030: stloc.s V_5 + IL_0032: ldc.i4.1 + IL_0033: stloc.s V_6 + IL_0035: ldloc.s V_5 + IL_0037: ldloc.s V_6 + IL_0039: conv.i + IL_003a: sizeof [runtime]System.Char + IL_0040: mul + IL_0041: add + IL_0042: ldobj [runtime]System.Char + IL_0047: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_005c: ret + IL_004c: ret } } @@ -932,4 +818,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.release.bsl index 3cea4952abe..b4424e5c131 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOff.il.netcore.release.bsl @@ -598,79 +598,79 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: stloc.2 - IL_0069: ldloc.2 - IL_006a: brfalse.s IL_0086 - - IL_006c: ldloc.2 - IL_006d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0072: brfalse.s IL_0081 - - IL_0074: ldloc.2 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: stloc.2 + IL_0051: ldloc.2 + IL_0052: brfalse.s IL_006e + + IL_0054: ldloc.2 + IL_0055: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_005a: brfalse.s IL_0069 + + IL_005c: ldloc.2 + IL_005d: ldc.i4.0 + IL_005e: ldelema [runtime]System.Double + IL_0063: stloc.3 + IL_0064: ldloc.3 + IL_0065: conv.i + IL_0066: nop + IL_0067: br.s IL_0071 + + IL_0069: ldc.i4.0 + IL_006a: conv.i + IL_006b: nop + IL_006c: br.s IL_0071 + + IL_006e: ldc.i4.0 + IL_006f: conv.i + IL_0070: nop + IL_0071: stloc.1 + IL_0072: ldloc.1 + IL_0073: stloc.s V_4 IL_0075: ldc.i4.0 - IL_0076: ldelema [runtime]System.Double - IL_007b: stloc.3 - IL_007c: ldloc.3 - IL_007d: conv.i - IL_007e: nop - IL_007f: br.s IL_0089 - - IL_0081: ldc.i4.0 - IL_0082: conv.i - IL_0083: nop - IL_0084: br.s IL_0089 - - IL_0086: ldc.i4.0 - IL_0087: conv.i - IL_0088: nop - IL_0089: stloc.1 + IL_0076: stloc.s V_5 + IL_0078: ldloc.s V_4 + IL_007a: ldloc.s V_5 + IL_007c: conv.i + IL_007d: sizeof [runtime]System.Double + IL_0083: mul + IL_0084: add + IL_0085: ldobj [runtime]System.Double IL_008a: ldloc.1 - IL_008b: stloc.s V_4 - IL_008d: ldc.i4.0 - IL_008e: stloc.s V_5 - IL_0090: ldloc.s V_4 - IL_0092: ldloc.s V_5 + IL_008b: stloc.s V_6 + IL_008d: ldc.i4.1 + IL_008e: stloc.s V_7 + IL_0090: ldloc.s V_6 + IL_0092: ldloc.s V_7 IL_0094: conv.i IL_0095: sizeof [runtime]System.Double IL_009b: mul IL_009c: add IL_009d: ldobj [runtime]System.Double - IL_00a2: ldloc.1 - IL_00a3: stloc.s V_6 - IL_00a5: ldc.i4.1 - IL_00a6: stloc.s V_7 - IL_00a8: ldloc.s V_6 - IL_00aa: ldloc.s V_7 - IL_00ac: conv.i - IL_00ad: sizeof [runtime]System.Double - IL_00b3: mul - IL_00b4: add - IL_00b5: ldobj [runtime]System.Double - IL_00ba: add - IL_00bb: ret + IL_00a2: add + IL_00a3: ret } .method public static float64 pinArray2() cil managed @@ -689,59 +689,59 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: stloc.3 - IL_0074: ldc.i4.0 - IL_0075: stloc.s V_4 - IL_0077: ldloc.3 - IL_0078: ldloc.s V_4 + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: stloc.3 + IL_005c: ldc.i4.0 + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldloc.s V_4 + IL_0062: conv.i + IL_0063: sizeof [runtime]System.Double + IL_0069: mul + IL_006a: add + IL_006b: ldobj [runtime]System.Double + IL_0070: ldloc.1 + IL_0071: stloc.s V_5 + IL_0073: ldc.i4.1 + IL_0074: stloc.s V_6 + IL_0076: ldloc.s V_5 + IL_0078: ldloc.s V_6 IL_007a: conv.i IL_007b: sizeof [runtime]System.Double IL_0081: mul IL_0082: add IL_0083: ldobj [runtime]System.Double - IL_0088: ldloc.1 - IL_0089: stloc.s V_5 - IL_008b: ldc.i4.1 - IL_008c: stloc.s V_6 - IL_008e: ldloc.s V_5 - IL_0090: ldloc.s V_6 - IL_0092: conv.i - IL_0093: sizeof [runtime]System.Double - IL_0099: mul - IL_009a: add - IL_009b: ldobj [runtime]System.Double - IL_00a0: add - IL_00a1: ret + IL_0088: add + IL_0089: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.debug.bsl index 5ce65a01960..b478624445f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.debug.bsl @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.release.bsl index 9b4153c5532..a87cc818438 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.net472.release.bsl @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.debug.bsl index f4025c40141..28fe7607cdd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.debug.bsl @@ -523,7 +523,7 @@ native int V_1, int32& pinned V_2) IL_0000: ldc.i4.s 17 - IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0002: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) IL_0007: stloc.0 IL_0008: ldloc.0 IL_0009: ldflda !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::contents@ @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed @@ -681,32 +681,31 @@ .maxstack 6 .locals init (native int V_0, - string pinned V_1) + char& pinned V_1) IL_0000: nop IL_0001: ldstr "Hello World" - IL_0006: stloc.1 - IL_0007: ldstr "Hello World" - IL_000c: conv.i - IL_000d: call int32 [runtime]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData() - IL_0012: add - IL_0013: stloc.0 - IL_0014: ldloc.0 - IL_0015: ldc.i4.0 - IL_0016: conv.i - IL_0017: sizeof [runtime]System.Char - IL_001d: mul - IL_001e: add - IL_001f: ldobj [runtime]System.Char - IL_0024: ldloc.0 - IL_0025: ldc.i4.1 - IL_0026: conv.i - IL_0027: sizeof [runtime]System.Char - IL_002d: mul - IL_002e: add - IL_002f: ldobj [runtime]System.Char - IL_0034: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + IL_0006: callvirt instance char& modreq([runtime]System.Runtime.InteropServices.InAttribute) [runtime]System.String::GetPinnableReference() + IL_000b: stloc.1 + IL_000c: ldloc.1 + IL_000d: conv.i + IL_000e: stloc.0 + IL_000f: ldloc.0 + IL_0010: ldc.i4.0 + IL_0011: conv.i + IL_0012: sizeof [runtime]System.Char + IL_0018: mul + IL_0019: add + IL_001a: ldobj [runtime]System.Char + IL_001f: ldloc.0 + IL_0020: ldc.i4.1 + IL_0021: conv.i + IL_0022: sizeof [runtime]System.Char + IL_0028: mul + IL_0029: add + IL_002a: ldobj [runtime]System.Char + IL_002f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, !1) - IL_0039: ret + IL_0034: ret } } @@ -728,4 +727,3 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.release.bsl index ec08b05e0ae..28fe7607cdd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction24.fs.RealInternalSignatureOn.OptimizeOn.il.netcore.release.bsl @@ -551,70 +551,70 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: nop - IL_0068: ldloc.0 - IL_0069: brfalse.s IL_0085 - - IL_006b: ldloc.0 - IL_006c: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) - IL_0071: brfalse.s IL_0080 - - IL_0073: ldloc.0 - IL_0074: ldc.i4.0 - IL_0075: ldelema [runtime]System.Double - IL_007a: stloc.2 - IL_007b: ldloc.2 - IL_007c: conv.i - IL_007d: nop - IL_007e: br.s IL_0088 - - IL_0080: ldc.i4.0 - IL_0081: conv.i - IL_0082: nop - IL_0083: br.s IL_0088 - - IL_0085: ldc.i4.0 - IL_0086: conv.i - IL_0087: nop - IL_0088: stloc.1 - IL_0089: ldloc.1 - IL_008a: ldc.i4.0 - IL_008b: conv.i - IL_008c: sizeof [runtime]System.Double - IL_0092: mul - IL_0093: add - IL_0094: ldobj [runtime]System.Double - IL_0099: ldloc.1 - IL_009a: ldc.i4.1 - IL_009b: conv.i - IL_009c: sizeof [runtime]System.Double - IL_00a2: mul - IL_00a3: add - IL_00a4: ldobj [runtime]System.Double - IL_00a9: add - IL_00aa: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: nop + IL_0050: ldloc.0 + IL_0051: brfalse.s IL_006d + + IL_0053: ldloc.0 + IL_0054: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0059: brfalse.s IL_0068 + + IL_005b: ldloc.0 + IL_005c: ldc.i4.0 + IL_005d: ldelema [runtime]System.Double + IL_0062: stloc.2 + IL_0063: ldloc.2 + IL_0064: conv.i + IL_0065: nop + IL_0066: br.s IL_0070 + + IL_0068: ldc.i4.0 + IL_0069: conv.i + IL_006a: nop + IL_006b: br.s IL_0070 + + IL_006d: ldc.i4.0 + IL_006e: conv.i + IL_006f: nop + IL_0070: stloc.1 + IL_0071: ldloc.1 + IL_0072: ldc.i4.0 + IL_0073: conv.i + IL_0074: sizeof [runtime]System.Double + IL_007a: mul + IL_007b: add + IL_007c: ldobj [runtime]System.Double + IL_0081: ldloc.1 + IL_0082: ldc.i4.1 + IL_0083: conv.i + IL_0084: sizeof [runtime]System.Double + IL_008a: mul + IL_008b: add + IL_008c: ldobj [runtime]System.Double + IL_0091: add + IL_0092: ret } .method public static float64 pinArray2() cil managed @@ -629,51 +629,51 @@ IL_0006: dup IL_0007: ldc.i4.0 IL_0008: ldc.r8 0.0 - IL_0011: stelem [runtime]System.Double - IL_0016: dup - IL_0017: ldc.i4.1 - IL_0018: ldc.r8 1.5 - IL_0021: stelem [runtime]System.Double - IL_0026: dup - IL_0027: ldc.i4.2 - IL_0028: ldc.r8 2.2999999999999998 - IL_0031: stelem [runtime]System.Double + IL_0011: stelem.r8 + IL_0012: dup + IL_0013: ldc.i4.1 + IL_0014: ldc.r8 1.5 + IL_001d: stelem.r8 + IL_001e: dup + IL_001f: ldc.i4.2 + IL_0020: ldc.r8 2.2999999999999998 + IL_0029: stelem.r8 + IL_002a: dup + IL_002b: ldc.i4.3 + IL_002c: ldc.r8 3.3999999999999999 + IL_0035: stelem.r8 IL_0036: dup - IL_0037: ldc.i4.3 - IL_0038: ldc.r8 3.3999999999999999 - IL_0041: stelem [runtime]System.Double - IL_0046: dup - IL_0047: ldc.i4.4 - IL_0048: ldc.r8 4.0999999999999996 - IL_0051: stelem [runtime]System.Double - IL_0056: dup - IL_0057: ldc.i4.5 - IL_0058: ldc.r8 5.9000000000000004 - IL_0061: stelem [runtime]System.Double - IL_0066: stloc.0 - IL_0067: ldloc.0 - IL_0068: ldc.i4.0 - IL_0069: ldelema [runtime]System.Double - IL_006e: stloc.2 - IL_006f: ldloc.2 - IL_0070: conv.i - IL_0071: stloc.1 - IL_0072: ldloc.1 - IL_0073: ldc.i4.0 - IL_0074: conv.i - IL_0075: sizeof [runtime]System.Double - IL_007b: mul - IL_007c: add - IL_007d: ldobj [runtime]System.Double - IL_0082: ldloc.1 - IL_0083: ldc.i4.1 - IL_0084: conv.i - IL_0085: sizeof [runtime]System.Double - IL_008b: mul - IL_008c: add - IL_008d: ldobj [runtime]System.Double - IL_0092: add - IL_0093: ret + IL_0037: ldc.i4.4 + IL_0038: ldc.r8 4.0999999999999996 + IL_0041: stelem.r8 + IL_0042: dup + IL_0043: ldc.i4.5 + IL_0044: ldc.r8 5.9000000000000004 + IL_004d: stelem.r8 + IL_004e: stloc.0 + IL_004f: ldloc.0 + IL_0050: ldc.i4.0 + IL_0051: ldelema [runtime]System.Double + IL_0056: stloc.2 + IL_0057: ldloc.2 + IL_0058: conv.i + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldc.i4.0 + IL_005c: conv.i + IL_005d: sizeof [runtime]System.Double + IL_0063: mul + IL_0064: add + IL_0065: ldobj [runtime]System.Double + IL_006a: ldloc.1 + IL_006b: ldc.i4.1 + IL_006c: conv.i + IL_006d: sizeof [runtime]System.Double + IL_0073: mul + IL_0074: add + IL_0075: ldobj [runtime]System.Double + IL_007a: add + IL_007b: ret } .method public static class [runtime]System.Tuple`2 pinString() cil managed diff --git a/tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs b/tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs index f307586cd5c..f8a35c88ca2 100644 --- a/tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs +++ b/tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs @@ -150,6 +150,10 @@ let parseAndCheck path source options = | _, FSharpCheckFileAnswer.Aborted -> None | _, FSharpCheckFileAnswer.Succeeded results -> Some results + // AsyncLocal cleanup may not have propagated yet on slower CI platforms (Linux, MacOS). + if Cancellable.HasCancellationToken then + System.Threading.Thread.Sleep(200) + Cancellable.HasCancellationToken |> shouldEqual false result diff --git a/tests/ILVerify/ilverify.ps1 b/tests/ILVerify/ilverify.ps1 index 9559d00dc42..41733ff2abf 100644 --- a/tests/ILVerify/ilverify.ps1 +++ b/tests/ILVerify/ilverify.ps1 @@ -173,6 +173,11 @@ foreach ($project in $projects.Keys) { [string[]] $baseline = Get-Content $baseline_file # | ForEach-Object { Normalize-IlverifyOutputLine $_ } if ($baseline.Length -eq 0) { + $errorLines = @($ilverify_output | Where-Object { $_ -and $_.Trim() -and $_ -match "\[IL\]" }) + if ($errorLines.Length -eq 0) { + Write-Host "Baseline file is empty and ILVerify produced no errors - OK." + continue + } Write-Host "Baseline file is empty: $baseline_file" if ($env:TEST_UPDATE_BSL -eq "1") { Write-Host "Updating empty baseline file: $baseline_file" diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl index 0d946a2a292..e05b9eb3e10 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl @@ -1,73 +1,11 @@ -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000060][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2>'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000035][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2'] Unexpected type on the stack. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, int64, [S.P.CoreLib]System.IO.FileAccess, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.RawByteMemory::.ctor(uint8*, int32, object)][offset 0x00000009] Unmanaged pointers are not a verifiable type. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::get_Item(int32)][offset 0x0000001E][found Native Int] Expected ByRef on the stack. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::set_Item(int32, uint8)][offset 0x00000025][found Native Int] Expected ByRef on the stack. [IL]: Error [ReturnPtrToStack]: : Internal.Utilities.Text.Lexing.LexBuffer`1::get_LexemeView()][offset 0x00000019] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Text.Lexing.UnicodeTables::scanUntilSentinel([FSharp.Compiler.Service]Internal.Utilities.Text.Lexing.LexBuffer`1, int32)][offset 0x00000079][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Xml.XmlDoc::processLines([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::getTfmNumber(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::tryGetRunningTfm()][offset 0x00000011][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.DependencyManager.AssemblyResolveHandler::.ctor([FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x0000003E][found ref 'object'][expected ref '[S.P.CoreLib]System.IDisposable'] Unexpected type on the stack. [IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadKeyString([System.Reflection.Metadata]System.Reflection.Metadata.BlobReader&)][offset 0x00000026] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadFirstKeyString()][offset 0x00000070] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.ItemKeyStoreBuilder::writeRange([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000011][found address of '[FSharp.Compiler.Service]FSharp.Compiler.Text.Range'][expected Native Int] Unexpected type on the stack. [IL]: Error [ExpectedNumericType]: : FSharp.Compiler.EditorServices.SemanticClassificationKeyStoreBuilder::WriteAll([FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem[])][offset 0x0000001D][found address of '[FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem'] Expected numeric type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.FSharpChecker::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, int32, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.FSharpOption`1>>, bool, bool, bool, bool, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+ParallelReferenceResolution, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>>>, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A4][found ref 'object'][expected ref '[FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.IBackgroundCompiler'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000005C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000065][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000082][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001E5][found Char] Unexpected type on the stack. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.Interactive.Shell+Utilities+pointerToNativeInt::Invoke(object)][offset 0x00000007] Unmanaged pointers are not a verifiable type. -[IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+dataTipOfReferences::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000084][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000037][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000040][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000087][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000090][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000099][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000E6][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::AddPathMapping([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+parseOption::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getOptionArgList::Invoke([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x00000035][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getOptionArgList::Invoke([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x0000003E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getSwitch::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+attempt::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000E9F][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000624][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000062D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000065][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.PatternMatchCompilation::.cctor()][offset 0x00000015][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateExpectedName([FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string[], string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1)][offset 0x000000AD][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Lexhelp::stringBufferAsString([FSharp.Compiler.Service]FSharp.Compiler.IO.ByteBuffer)][offset 0x00000099][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x00000057][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x00000060][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x00001220][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x00001229][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter::writeILMetadataAndCode(bool, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILVersionInfo, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILGlobals, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [S.P.CoreLib]System.Collections.Generic.IEnumerable`1, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILModuleDef, int32, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000063F][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter+bigness::Invoke(int32)][offset 0x00000007][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+PortablePdbGenerator::serializeDocumentName(string)][offset 0x00000090][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+pushShadowedLocals::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000232][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadUntaggedIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.BinaryConstants+TableName, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32&)][offset 0x0000000D][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x000007A3][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+rowKindSize::Invoke([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+RowKind)][offset 0x00000128][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000CD][found Char] Unexpected type on the stack. -[IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer::System.Collections.Generic.IEqualityComparer.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000037][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000043][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000000A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000013][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000001C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000025][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000002E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x00000014][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.String::lowerCaseFirstChar(string)][offset 0x0000003F][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.Array+loop::Invoke(int32)][offset 0x00000012][found Byte] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl index 6e759daac9e..e05b9eb3e10 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl @@ -1,98 +1,11 @@ -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000060][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2>'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000035][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2'] Unexpected type on the stack. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, int64, [S.P.CoreLib]System.IO.FileAccess, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.RawByteMemory::.ctor(uint8*, int32, object)][offset 0x00000009] Unmanaged pointers are not a verifiable type. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::get_Item(int32)][offset 0x0000001E][found Native Int] Expected ByRef on the stack. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::set_Item(int32, uint8)][offset 0x00000025][found Native Int] Expected ByRef on the stack. [IL]: Error [ReturnPtrToStack]: : Internal.Utilities.Text.Lexing.LexBuffer`1::get_LexemeView()][offset 0x00000019] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Text.Lexing.UnicodeTables::scanUntilSentinel([FSharp.Compiler.Service]Internal.Utilities.Text.Lexing.LexBuffer`1, int32)][offset 0x00000079][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Xml.XmlDoc::processLines([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::getTfmNumber(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::tryGetRunningTfm()][offset 0x00000011][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.DependencyManager.AssemblyResolveHandler::.ctor([FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x0000003E][found ref 'object'][expected ref '[S.P.CoreLib]System.IDisposable'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.DependencyManager.DependencyProvider::TryFindDependencyManagerInPath([S.P.CoreLib]System.Collections.Generic.IEnumerable`1, string, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [FSharp.Compiler.Service]FSharp.Compiler.DependencyManager.ResolvingErrorReport, string)][offset 0x00000064][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Symbols.FSharpEntity::TryGetFullDisplayName()][offset 0x00000035][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Symbols.FSharpEntity::TryGetFullCompiledName()][offset 0x00000035][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Symbols.FSharpMemberOrFunctionOrValue::TryGetFullCompiledOperatorNameIdents()][offset 0x0000008A][found Char] Unexpected type on the stack. [IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadKeyString([System.Reflection.Metadata]System.Reflection.Metadata.BlobReader&)][offset 0x00000026] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadFirstKeyString()][offset 0x00000070] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.ItemKeyStoreBuilder::writeRange([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000011][found address of '[FSharp.Compiler.Service]FSharp.Compiler.Text.Range'][expected Native Int] Unexpected type on the stack. [IL]: Error [ExpectedNumericType]: : FSharp.Compiler.EditorServices.SemanticClassificationKeyStoreBuilder::WriteAll([FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem[])][offset 0x0000001D][found address of '[FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem'] Expected numeric type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.Parent::FormatEntityFullName([FSharp.Compiler.Service]FSharp.Compiler.Symbols.FSharpEntity)][offset 0x00000069][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.FSharpChecker::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, int32, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.FSharpOption`1>>, bool, bool, bool, bool, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+ParallelReferenceResolution, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>>>, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A4][found ref 'object'][expected ref '[FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.IBackgroundCompiler'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.FSharpChecker::TokenizeFile(string)][offset 0x0000000D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000005C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000065][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000082][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiStdinSyphon::GetLine(string, int32)][offset 0x00000039][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiInteractionProcessor::CompletionsForPartialLID([FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompilerState, string)][offset 0x0000001B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001E5][found Char] Unexpected type on the stack. [IL]: Error [UnmanagedPointer]: : FSharp.Compiler.Interactive.Shell+Utilities+pointerToNativeInt::Invoke(object)][offset 0x00000007] Unmanaged pointers are not a verifiable type. -[IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+dataTipOfReferences::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000084][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseMemberFunctionAndValues::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Symbols.FSharpMemberOrFunctionOrValue)][offset 0x00000059][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseEntity::GenerateNext([S.P.CoreLib]System.Collections.Generic.IEnumerable`1&)][offset 0x000000DA][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.ParsedInput+visitor::VisitExpr([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Compiler.Service]FSharp.Compiler.Syntax.SynExpr)][offset 0x000005FD][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000037][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000040][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000087][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000090][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000099][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Symbols+fullName::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CreateILModule+MainModuleBuilder::ConvertProductVersionToILVersionInfo(string)][offset 0x00000011][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000E6][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::AddPathMapping([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::subSystemVersionSwitch([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+parseOption::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getOptionArgList::Invoke([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x00000035][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getOptionArgList::Invoke([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x0000003E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+getSwitch::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+attempt::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000E9F][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+processArg::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x0000004D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+ResponseFile+parseLine::Invoke(string)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+line::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000624][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000062D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000065][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.PatternMatchCompilation::.cctor()][offset 0x00000015][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.NicePrint+TastDefinitionPrinting+meths::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Infos+MethInfo)][offset 0x000000BE][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.NicePrint+PrintUtilities::layoutXmlDoc([FSharp.Compiler.Service]FSharp.Compiler.TypedTreeOps+DisplayEnv, bool, [FSharp.Compiler.Service]FSharp.Compiler.Xml.XmlDoc, [FSharp.Compiler.Service]FSharp.Compiler.Text.Layout)][offset 0x00000033][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateNamespaceName(string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string)][offset 0x00000063][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateExpectedName([FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string[], string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1)][offset 0x000000AD][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Lexhelp::stringBufferAsString([FSharp.Compiler.Service]FSharp.Compiler.IO.ByteBuffer)][offset 0x00000099][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x00000057][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x00000060][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x00001220][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x00001229][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter::writeILMetadataAndCode(bool, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILVersionInfo, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILGlobals, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [S.P.CoreLib]System.Collections.Generic.IEnumerable`1, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILModuleDef, int32, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000063F][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter+bigness::Invoke(int32)][offset 0x00000007][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+PortablePdbGenerator::serializeDocumentName(string)][offset 0x00000090][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+pushShadowedLocals::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000232][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadUntaggedIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.BinaryConstants+TableName, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32&)][offset 0x0000000D][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x000007A3][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+rowKindSize::Invoke([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+RowKind)][offset 0x00000128][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.NativeRes+VersionHelper::TryParse(string, bool, uint16, bool, [S.P.CoreLib]System.Version&)][offset 0x0000003D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL+parseNamed::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>, int32, int32)][offset 0x00000087][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.Utils::shortPath(string)][offset 0x00000048][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.FSharpEnvironment+probePathForDotnetHost::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000028][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.SimulatedMSBuildReferenceResolver+Pipe #6 input ::FSharp.Compiler.CodeAnalysis.ILegacyReferenceResolver.Resolve([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyResolutionEnvironment, [S.P.CoreLib]System.Tuple`2[], string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>)][offset 0x0000034D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000CD][found Char] Unexpected type on the stack. -[IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer::System.Collections.Generic.IEqualityComparer.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000037][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000043][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000000A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000013][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000001C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000025][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000002E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x00000014][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.String::lowerCaseFirstChar(string)][offset 0x0000003F][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.Array+loop::Invoke(int32)][offset 0x00000012][found Byte] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl index 5aa47b60492..3d43281cda4 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl @@ -1,99 +1,12 @@ -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000060][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2>'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000035][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2'] Unexpected type on the stack. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, int64, [S.P.CoreLib]System.IO.FileAccess, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.RawByteMemory::.ctor(uint8*, int32, object)][offset 0x00000009] Unmanaged pointers are not a verifiable type. +[IL]: Error [ExpectedNumericType]: : FSharp.Compiler.EditorServices.SemanticClassificationKeyStoreBuilder::WriteAll([FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem[])][offset 0x0000001C][found address of '[FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem'] Expected numeric type on the stack. +[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadFirstKeyString()][offset 0x00000064] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. +[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadKeyString([System.Reflection.Metadata]System.Reflection.Metadata.BlobReader&)][offset 0x00000023] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. +[IL]: Error [ReturnPtrToStack]: : Internal.Utilities.Text.Lexing.LexBuffer`1::get_LexemeView()][offset 0x00000017] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::get_Item(int32)][offset 0x0000001A][found Native Int] Expected ByRef on the stack. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::set_Item(int32, uint8)][offset 0x0000001B][found Native Int] Expected ByRef on the stack. -[IL]: Error [ReturnPtrToStack]: : Internal.Utilities.Text.Lexing.LexBuffer`1::get_LexemeView()][offset 0x00000017] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Text.Lexing.UnicodeTables::scanUntilSentinel([FSharp.Compiler.Service]Internal.Utilities.Text.Lexing.LexBuffer`1, int32)][offset 0x0000008D][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Xml.XmlDoc::processLines([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x0000002C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::getTfmNumber(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::tryGetRunningTfm()][offset 0x00000011][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.DependencyManager.AssemblyResolveHandler::.ctor([FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x0000002B][found ref 'object'][expected ref '[S.P.CoreLib]System.IDisposable'] Unexpected type on the stack. -[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadKeyString([System.Reflection.Metadata]System.Reflection.Metadata.BlobReader&)][offset 0x00000023] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. -[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadFirstKeyString()][offset 0x00000064] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.ItemKeyStoreBuilder::writeRange([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000017][found address of '[FSharp.Compiler.Service]FSharp.Compiler.Text.Range'][expected Native Int] Unexpected type on the stack. -[IL]: Error [ExpectedNumericType]: : FSharp.Compiler.EditorServices.SemanticClassificationKeyStoreBuilder::WriteAll([FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem[])][offset 0x0000001C][found address of '[FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem'] Expected numeric type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.FSharpChecker::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, int32, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.FSharpOption`1>>, bool, bool, bool, bool, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+ParallelReferenceResolution, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>>>, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A4][found ref 'object'][expected ref '[FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.IBackgroundCompiler'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000005C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000065][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000082][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001C7][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+GetReferenceResolutionStructuredToolTipText::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000076][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000037][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000040][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000069][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000072][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000007B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags::Invoke(string)][offset 0x00000014][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A7][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::AddPathMapping([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnderflow]: : FSharp.Compiler.CompilerOptions::DoWithColor([System.Console]System.ConsoleColor, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000005E] Stack underflow. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::parseOption(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getOptionArgList([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x00000049][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getOptionArgList([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x00000052][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getSwitch(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::attempt([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000A99][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000596][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000059F][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000011][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000012][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,T0>'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000040][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.PatternMatchCompilation::.cctor()][offset 0x0000000B][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateExpectedName([FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string[], string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1)][offset 0x000000A8][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Lexhelp::stringBufferAsString([FSharp.Compiler.Service]FSharp.Compiler.IO.ByteBuffer)][offset 0x0000008E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x0000004B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x00000054][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x00001182][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x0000118B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter::writeILMetadataAndCode(bool, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILVersionInfo, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILGlobals, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [S.P.CoreLib]System.Collections.Generic.IEnumerable`1, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILModuleDef, int32, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x00000B21][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter::writeILMetadataAndCode(bool, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILVersionInfo, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILGlobals, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [S.P.CoreLib]System.Collections.Generic.IEnumerable`1, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILModuleDef, int32, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x000004E2][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+PortablePdbGenerator::serializeDocumentName(string)][offset 0x00000071][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+pushShadowedLocals::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x000001C0][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadTypeDefRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000080][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadTypeDefRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x000000A1][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadMethodRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000071][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadInterfaceIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadClassLayoutRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000066][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadFieldLayoutRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadEventMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadEventMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadPropertyMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadPropertyMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadMethodSemanticsRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000040][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadMethodImplRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadImplMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000044][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadFieldRVARow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadNestedRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadNestedRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000058][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadGenericParamConstraintIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x000006B6][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::rowKindSize$cont(bool, bool, bool, bool[], bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x000000E5][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadInterfaceImpls::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadGenericParamConstraints::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+enclIdx::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadMethodImpls::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadEvents::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadProperties::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000B6][found Char] Unexpected type on the stack. -[IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer::System.Collections.Generic.IEqualityComparer.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000035][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000041][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000000A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000013][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000001C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000025][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000002E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x00000014][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.String::lowerCaseFirstChar(string)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.Array::loop(bool[], int32)][offset 0x00000008][found Byte] Unexpected type on the stack. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.RawByteMemory::.ctor(uint8*, int32, object)][offset 0x00000009] Unmanaged pointers are not a verifiable type. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, int64, [S.P.CoreLib]System.IO.FileAccess, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl index 7832a7938c3..3d43281cda4 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl @@ -1,125 +1,12 @@ -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000060][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2>'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.HashMultiMap`2::.ctor(int32, [S.P.CoreLib]System.Collections.Generic.IEqualityComparer`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x00000035][found ref 'object'][expected ref '[S.P.CoreLib]System.Collections.Generic.IDictionary`2'] Unexpected type on the stack. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, int64, [S.P.CoreLib]System.IO.FileAccess, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. -[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.RawByteMemory::.ctor(uint8*, int32, object)][offset 0x00000009] Unmanaged pointers are not a verifiable type. +[IL]: Error [ExpectedNumericType]: : FSharp.Compiler.EditorServices.SemanticClassificationKeyStoreBuilder::WriteAll([FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem[])][offset 0x0000001C][found address of '[FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem'] Expected numeric type on the stack. +[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadFirstKeyString()][offset 0x00000064] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. +[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadKeyString([System.Reflection.Metadata]System.Reflection.Metadata.BlobReader&)][offset 0x00000023] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. +[IL]: Error [ReturnPtrToStack]: : Internal.Utilities.Text.Lexing.LexBuffer`1::get_LexemeView()][offset 0x00000017] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::get_Item(int32)][offset 0x0000001A][found Native Int] Expected ByRef on the stack. [IL]: Error [StackByRef]: : FSharp.Compiler.IO.RawByteMemory::set_Item(int32, uint8)][offset 0x0000001B][found Native Int] Expected ByRef on the stack. -[IL]: Error [ReturnPtrToStack]: : Internal.Utilities.Text.Lexing.LexBuffer`1::get_LexemeView()][offset 0x00000017] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Text.Lexing.UnicodeTables::scanUntilSentinel([FSharp.Compiler.Service]Internal.Utilities.Text.Lexing.LexBuffer`1, int32)][offset 0x0000008D][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Xml.XmlDoc::processLines([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x0000002C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::getTfmNumber(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.FxResolver::tryGetRunningTfm()][offset 0x00000011][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.DependencyManager.AssemblyResolveHandler::.ctor([FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x0000002B][found ref 'object'][expected ref '[S.P.CoreLib]System.IDisposable'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.DependencyManager.DependencyProvider::TryFindDependencyManagerInPath([S.P.CoreLib]System.Collections.Generic.IEnumerable`1, string, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [FSharp.Compiler.Service]FSharp.Compiler.DependencyManager.ResolvingErrorReport, string)][offset 0x00000058][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Symbols.FSharpEntity::TryGetFullDisplayName()][offset 0x00000024][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Symbols.FSharpEntity::TryGetFullCompiledName()][offset 0x00000024][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Symbols.FSharpMemberOrFunctionOrValue::TryGetFullCompiledOperatorNameIdents()][offset 0x00000060][found Char] Unexpected type on the stack. -[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadKeyString([System.Reflection.Metadata]System.Reflection.Metadata.BlobReader&)][offset 0x00000023] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. -[IL]: Error [ReturnPtrToStack]: : FSharp.Compiler.CodeAnalysis.ItemKeyStore::ReadFirstKeyString()][offset 0x00000064] Return type is ByRef, TypedReference, ArgHandle, or ArgIterator. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.ItemKeyStoreBuilder::writeRange([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000017][found address of '[FSharp.Compiler.Service]FSharp.Compiler.Text.Range'][expected Native Int] Unexpected type on the stack. -[IL]: Error [ExpectedNumericType]: : FSharp.Compiler.EditorServices.SemanticClassificationKeyStoreBuilder::WriteAll([FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem[])][offset 0x0000001C][found address of '[FSharp.Compiler.Service]FSharp.Compiler.EditorServices.SemanticClassificationItem'] Expected numeric type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.Parent::FormatEntityFullName([FSharp.Compiler.Service]FSharp.Compiler.Symbols.FSharpEntity)][offset 0x0000003F][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.FSharpChecker::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, int32, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.FSharpOption`1>>, bool, bool, bool, bool, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+ParallelReferenceResolution, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>>>, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A4][found ref 'object'][expected ref '[FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.IBackgroundCompiler'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.FSharpChecker::TokenizeFile(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000005C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000065][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x00000082][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.Hosted.CompilerHelpers::fscCompile([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyReferenceResolver, string, string[])][offset 0x0000008B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiStdinSyphon::GetLine(string, int32)][offset 0x00000032][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+MagicAssemblyResolution::ResolveAssemblyCore([FSharp.Compiler.Service]Internal.Utilities.Library.CompilationThreadToken, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, [FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, [FSharp.Compiler.Service]FSharp.Compiler.CompilerImports+TcImports, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompiler, [FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiConsoleOutput, string)][offset 0x00000015][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+FsiInteractionProcessor::CompletionsForPartialLID([FSharp.Compiler.Service]FSharp.Compiler.Interactive.Shell+FsiDynamicCompilerState, string)][offset 0x00000024][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Interactive.Shell+clo::Invoke([S.P.CoreLib]System.Tuple`3)][offset 0x000001C7][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharpCheckerResults+GetReferenceResolutionStructuredToolTipText::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000076][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseMemberFunctionAndValues::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Symbols.FSharpMemberOrFunctionOrValue)][offset 0x0000002B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.AssemblyContent+traverseEntity::GenerateNext([S.P.CoreLib]System.Collections.Generic.IEnumerable`1&)][offset 0x000000BB][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.EditorServices.ParsedInput+visitor::VisitExpr([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, [FSharp.Compiler.Service]FSharp.Compiler.Syntax.SynExpr)][offset 0x00000618][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000037][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000040][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000069][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x00000072][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$ServiceLexing+clo::Invoke([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,Microsoft.FSharp.Core.Unit>)][offset 0x0000007B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Symbols+fullName::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000030][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Driver+ProcessCommandLineFlags::Invoke(string)][offset 0x00000014][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CreateILModule+MainModuleBuilder::ConvertProductVersionToILVersionInfo(string)][offset 0x00000010][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.StaticLinking+TypeForwarding::followTypeForwardForILTypeRef([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILTypeRef)][offset 0x00000010][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getCompilerOption([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1)][offset 0x000000A7][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::AddPathMapping([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnderflow]: : FSharp.Compiler.CompilerOptions::DoWithColor([System.Console]System.ConsoleColor, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000005E] Stack underflow. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::parseOption(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getOptionArgList([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x00000049][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getOptionArgList([FSharp.Compiler.Service]FSharp.Compiler.CompilerOptions+CompilerOption, string)][offset 0x00000052][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::getSwitch(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::attempt([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000A99][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::processArg([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x0000003E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions::subSystemVersionSwitch$cont([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, string, [FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+ResponseFile+parseLine::Invoke(string)][offset 0x00000026][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+TcConfig-TryResolveLibWithDirectories::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000021][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+TcConfig-TryResolveLibWithDirectories::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000003B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000596][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000059F][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000011][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000012][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,T0>'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000040][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.PatternMatchCompilation::.cctor()][offset 0x0000000B][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.NicePrint+TastDefinitionPrinting+meths::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Infos+MethInfo)][offset 0x000000B3][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.NicePrint+PrintUtilities::layoutXmlDoc([FSharp.Compiler.Service]FSharp.Compiler.TypedTreeOps+DisplayEnv, bool, [FSharp.Compiler.Service]FSharp.Compiler.Xml.XmlDoc, [FSharp.Compiler.Service]FSharp.Compiler.Text.Layout)][offset 0x00000034][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateNamespaceName(string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1, [FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string)][offset 0x00000074][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateExpectedName([FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string[], string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1)][offset 0x000000A8][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Lexhelp::stringBufferAsString([FSharp.Compiler.Service]FSharp.Compiler.IO.ByteBuffer)][offset 0x0000008E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x0000004B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.Syntax.PrettyNaming::SplitNamesForILPath(string)][offset 0x00000054][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x00001182][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.Syntax.PrettyNaming::.cctor()][offset 0x0000118B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter::writeILMetadataAndCode(bool, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILVersionInfo, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILGlobals, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [S.P.CoreLib]System.Collections.Generic.IEnumerable`1, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILModuleDef, int32, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x00000B21][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryWriter::writeILMetadataAndCode(bool, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILVersionInfo, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILGlobals, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, [S.P.CoreLib]System.Collections.Generic.IEnumerable`1, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.IL+ILModuleDef, int32, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x000004E2][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+PortablePdbGenerator::serializeDocumentName(string)][offset 0x00000071][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILPdbWriter+pushShadowedLocals::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x000001C0][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadTypeDefRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000080][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadTypeDefRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x000000A1][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadMethodRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000071][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadInterfaceIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadClassLayoutRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000066][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadFieldLayoutRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadEventMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadEventMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadPropertyMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadPropertyMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadMethodSemanticsRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000040][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadMethodImplRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadImplMapRow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000044][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadFieldRVARow([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000045][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadNestedRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadNestedRowUncached([FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1>, int32)][offset 0x00000058][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::seekReadGenericParamConstraintIdx([FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+ILMetadataReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, int32)][offset 0x00000025][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::openMetadataReader(string, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+BinaryFile, int32, [S.P.CoreLib]System.Tuple`8,bool,bool,bool,bool,bool,System.Tuple`5,bool,int32,int32,int32>>, [FSharp.Compiler.Service]FSharp.Compiler.AbstractIL.ILBinaryReader+PEReader, [FSharp.Compiler.Service]FSharp.Compiler.IO.ReadOnlyByteMemory, [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, bool)][offset 0x000006B6][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader::rowKindSize$cont(bool, bool, bool, bool[], bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, [FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x000000E5][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadInterfaceImpls::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadGenericParamConstraints::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+enclIdx::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadMethodImpls::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadEvents::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.ILBinaryReader+seekReadProperties::Invoke(int32)][offset 0x0000002F][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.NativeRes+VersionHelper::TryParse(string, bool, uint16, bool, [S.P.CoreLib]System.Version&)][offset 0x00000026][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseNamed(uint8[], [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>, int32, int32)][offset 0x0000007E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Collections.Utils::shortPath(string)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.FSharpEnvironment::probePathForDotnetHost([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000002A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CodeAnalysis.SimulatedMSBuildReferenceResolver+SimulatedMSBuildResolver::FSharp.Compiler.CodeAnalysis.ILegacyReferenceResolver.Resolve([FSharp.Compiler.Service]FSharp.Compiler.CodeAnalysis.LegacyResolutionEnvironment, [S.P.CoreLib]System.Tuple`2[], string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, string, [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, string, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>)][offset 0x000002F5][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000B6][found Char] Unexpected type on the stack. -[IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer::System.Collections.Generic.IEqualityComparer.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000035][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000041][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000000A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000013][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000001C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x00000025][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : .$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000002E][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.IO.FileSystemUtils::trimQuotes(string)][offset 0x00000014][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.String::lowerCaseFirstChar(string)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Internal.Utilities.Library.Array::loop(bool[], int32)][offset 0x00000008][found Byte] Unexpected type on the stack. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.RawByteMemory::.ctor(uint8*, int32, object)][offset 0x00000009] Unmanaged pointers are not a verifiable type. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, int64, [S.P.CoreLib]System.IO.FileAccess, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. +[IL]: Error [UnmanagedPointer]: : FSharp.Compiler.IO.SafeUnmanagedMemoryStream::.ctor(uint8*, int64, object)][offset 0x00000001] Unmanaged pointers are not a verifiable type. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl index 60db97dade9..cbd1889efbc 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.0.bsl @@ -1,42 +1,5 @@ -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::scatterPartitioned(bool[], !!0[], !!1[], int32)][offset 0x0000002B][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x0000008B][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000117][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000A0][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000D9][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input ::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input ::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input ::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000038][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000020][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000033][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000075][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.Operators::castToString(!!0)][offset 0x00000001][found value 'T'][expected ref 'string'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives::retype(!!0)][offset 0x00000001][found value 'T'][expected value 'TResult'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x0000001C][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x00000023][found Short] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.BasicInlinedOperations::castclassPrim(object)][offset 0x00000006][found ref 'T'][expected value 'T'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.BasicInlinedOperations::notnullPrim(!!0)][offset 0x00000002][found Nullobjref 'NullReference'][expected value 'T'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.BasicInlinedOperations::iscastPrim(object)][offset 0x00000006][found ref 'T'][expected value 'T'] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl index 60db97dade9..cbd1889efbc 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Debug_netstandard2.1.bsl @@ -1,42 +1,5 @@ -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::scatterPartitioned(bool[], !!0[], !!1[], int32)][offset 0x0000002B][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x0000008B][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000117][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000A0][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000D9][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input ::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input ::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Pipe #2 input ::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000038][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000020][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000031][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000033][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x00000075][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.Operators::castToString(!!0)][offset 0x00000001][found value 'T'][expected ref 'string'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives::retype(!!0)][offset 0x00000001][found value 'T'][expected value 'TResult'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x0000001C][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x00000023][found Short] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.BasicInlinedOperations::castclassPrim(object)][offset 0x00000006][found ref 'T'][expected value 'T'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.BasicInlinedOperations::notnullPrim(!!0)][offset 0x00000002][found Nullobjref 'NullReference'][expected value 'T'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.BasicInlinedOperations::iscastPrim(object)][offset 0x00000006][found ref 'T'][expected value 'T'] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl index c64d0248b2b..e69de29bb2d 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.0.bsl @@ -1,36 +0,0 @@ -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000073][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000EC][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000081][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000AD][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Choose::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+countAndCollectTrueItems::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+PartitionWith::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000038][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000001E][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000002D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000033][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000006C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x0000001C][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x00000023][found Short] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl index c64d0248b2b..e69de29bb2d 100644 --- a/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl +++ b/tests/ILVerify/ilverify_FSharp.Core_Release_netstandard2.1.bsl @@ -1,36 +0,0 @@ -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x0000000E][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPlusPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1)][offset 0x00000016][found ref '[FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x0000000E][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, [S.P.CoreLib]System.Threading.Tasks.Task`1, !!0)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.MediumPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, [S.P.CoreLib]System.Threading.Tasks.Task`1)][offset 0x00000016][found ref '[S.P.CoreLib]System.Threading.Tasks.Task`1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::TaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.TaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x0000000E][found value 'TTaskLike1'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Control.TaskBuilderExtensions.LowPriority::BackgroundTaskBuilder.MergeSources$W([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, [FSharp.Core]Microsoft.FSharp.Control.BackgroundTaskBuilder, !!0, !!1)][offset 0x00000016][found value 'TTaskLike2'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2'] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000073][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000EC][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Choose([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x00000081][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000029][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::Partition([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, !!0[])][offset 0x00000038][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel::PartitionWith([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, !!0[])][offset 0x000000AD][found Byte] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+Choose::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000030][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+countAndCollectTrueItems::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000022][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Collections.ArrayModule+Parallel+PartitionWith::Invoke(int32, [System.Threading.Tasks.Parallel]System.Threading.Tasks.ParallelLoopState, int32)][offset 0x00000038][found Boolean] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000001E][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Map([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000002D][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000029][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::MapIndexed([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, string)][offset 0x00000033][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.StringModule::Filter([FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, string)][offset 0x0000006C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x0000001C][found Short] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : Microsoft.FSharp.Core.LanguagePrimitives+HashCompare::GenericEqualityCharArray(char[], char[])][offset 0x00000023][found Short] Unexpected type on the stack. diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/BENCHMARK_RESULTS.md b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/BENCHMARK_RESULTS.md new file mode 100644 index 00000000000..0d3b75886f8 --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/BENCHMARK_RESULTS.md @@ -0,0 +1,85 @@ +``` + +BenchmarkDotNet v0.13.10, macOS 26.2 (25C56) [Darwin 25.2.0] +Apple M3 Max, 1 CPU, 16 logical and 16 physical cores +.NET SDK 10.0.101 + [Host] : .NET 10.0.1 (10.0.125.57005), Arm64 RyuJIT AdvSIMD DEBUG + LocalCompiler : .NET 10.0.2 (10.0.225.61305), Arm64 RyuJIT AdvSIMD + SdkCompiler : .NET 10.0.2 (10.0.225.61305), Arm64 RyuJIT AdvSIMD + +Arguments=/p:BUILDING_USING_DOTNET=true + +``` +| Type | Method | Job | Mean | Error | StdDev | Median | P95 | Ratio | RatioSD | Gen0 | Gen1 | Allocated | Alloc Ratio | +|----------------------------- |-------------------------------- |-------------- |-----------------:|---------------:|----------------:|-----------------:|-----------------:|------:|--------:|-------:|-------:|----------:|------------:| +| CallVirtOnValueTypeBenchmark | StructGetHashCode | LocalCompiler | 3,011.739 ns | 4.1497 ns | 3.8816 ns | 3,011.152 ns | 3,018.224 ns | 1.00 | 0.00 | - | - | - | NA | +| CallVirtOnValueTypeBenchmark | StructGetHashCode | SdkCompiler | 3,020.885 ns | 3.4751 ns | 2.9019 ns | 3,021.219 ns | 3,024.821 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| CastThenBrBenchmark | MatchReturningInterface_NoAlloc | LocalCompiler | 23,985.794 ns | 475.2417 ns | 794.0221 ns | 23,652.795 ns | 25,443.705 ns | 0.88 | 0.06 | - | - | - | NA | +| CastThenBrBenchmark | MatchReturningInterface_NoAlloc | SdkCompiler | 27,398.117 ns | 543.5979 ns | 1,432.0542 ns | 27,033.290 ns | 30,303.813 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| FilterInFinallyBenchmark | TryWithInFinally_NoException | LocalCompiler | 555.539 ns | 10.4836 ns | 17.2249 ns | 548.821 ns | 586.716 ns | 1.06 | 0.04 | - | - | - | NA | +| FilterInFinallyBenchmark | TryWithInFinally_NoException | SdkCompiler | 530.672 ns | 1.7119 ns | 1.4295 ns | 530.475 ns | 533.055 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | BoolArrayReadWrite | LocalCompiler | 3,589.626 ns | 24.9488 ns | 20.8334 ns | 3,587.869 ns | 3,625.366 ns | 1.02 | 0.01 | - | - | - | NA | +| StelemLdelemBenchmark | BoolArrayReadWrite | SdkCompiler | 3,513.090 ns | 40.1561 ns | 37.5620 ns | 3,536.126 ns | 3,547.690 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| TaskMergeSourcesBenchmark | TaskLetBangAndBang | LocalCompiler | 14.754 ns | 0.2272 ns | 0.2125 ns | 14.692 ns | 15.123 ns | 1.00 | 0.02 | 0.0004 | - | 72 B | 1.00 | +| TaskMergeSourcesBenchmark | TaskLetBangAndBang | SdkCompiler | 14.751 ns | 0.0665 ns | 0.0589 ns | 14.737 ns | 14.860 ns | 1.00 | 0.00 | 0.0004 | - | 72 B | 1.00 | +| | | | | | | | | | | | | | | +| CallVirtOnValueTypeBenchmark | StructToString | LocalCompiler | 6,550.059 ns | 30.8829 ns | 28.8879 ns | 6,552.014 ns | 6,596.813 ns | 1.00 | 0.00 | 0.1678 | - | 27960 B | 1.00 | +| CallVirtOnValueTypeBenchmark | StructToString | SdkCompiler | 6,522.629 ns | 22.4117 ns | 17.4976 ns | 6,524.147 ns | 6,548.854 ns | 1.00 | 0.00 | 0.1678 | - | 27960 B | 1.00 | +| | | | | | | | | | | | | | | +| CastThenBrBenchmark | MatchReturningInterface_Alloc | LocalCompiler | 57,340.381 ns | 566.1241 ns | 501.8542 ns | 57,160.351 ns | 58,333.448 ns | 1.02 | 0.01 | 1.5869 | - | 266456 B | 1.00 | +| CastThenBrBenchmark | MatchReturningInterface_Alloc | SdkCompiler | 56,407.777 ns | 807.8752 ns | 755.6869 ns | 56,003.489 ns | 57,572.996 ns | 1.00 | 0.00 | 1.5869 | - | 266456 B | 1.00 | +| | | | | | | | | | | | | | | +| FilterInFinallyBenchmark | TryWithInFinally_WithException | LocalCompiler | 2,140,943.877 ns | 42,143.2213 ns | 51,755.6605 ns | 2,130,150.148 ns | 2,226,091.349 ns | 0.93 | 0.07 | - | - | 216000 B | 1.00 | +| FilterInFinallyBenchmark | TryWithInFinally_WithException | SdkCompiler | 2,262,674.964 ns | 56,794.0958 ns | 151,594.9387 ns | 2,201,999.594 ns | 2,728,839.813 ns | 1.00 | 0.00 | - | - | 216003 B | 1.00 | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | IntArrayReadWrite | LocalCompiler | 2,884.971 ns | 9.4347 ns | 8.3636 ns | 2,885.090 ns | 2,896.610 ns | 1.03 | 0.00 | - | - | - | NA | +| StelemLdelemBenchmark | IntArrayReadWrite | SdkCompiler | 2,812.112 ns | 6.3549 ns | 5.3067 ns | 2,811.917 ns | 2,820.260 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| TaskMergeSourcesBenchmark | TaskLetBangAndBang3 | LocalCompiler | 27.341 ns | 0.3246 ns | 0.2711 ns | 27.374 ns | 27.714 ns | 1.01 | 0.01 | 0.0009 | - | 152 B | 1.00 | +| TaskMergeSourcesBenchmark | TaskLetBangAndBang3 | SdkCompiler | 27.020 ns | 0.2093 ns | 0.1748 ns | 27.045 ns | 27.238 ns | 1.00 | 0.00 | 0.0009 | - | 152 B | 1.00 | +| | | | | | | | | | | | | | | +| CallVirtOnValueTypeBenchmark | StructEquals | LocalCompiler | 29,573.711 ns | 220.8120 ns | 206.5476 ns | 29,562.723 ns | 29,922.468 ns | 1.01 | 0.02 | 1.4343 | - | 239976 B | 1.00 | +| CallVirtOnValueTypeBenchmark | StructEquals | SdkCompiler | 29,420.301 ns | 390.6764 ns | 365.4390 ns | 29,608.037 ns | 29,790.980 ns | 1.00 | 0.00 | 1.4343 | - | 239976 B | 1.00 | +| | | | | | | | | | | | | | | +| CastThenBrBenchmark | MatchReturningIComparable | LocalCompiler | 91,689.908 ns | 369.9182 ns | 308.8985 ns | 91,709.345 ns | 92,134.706 ns | 0.95 | 0.04 | 0.8545 | - | 159264 B | 1.00 | +| CastThenBrBenchmark | MatchReturningIComparable | SdkCompiler | 95,445.088 ns | 1,708.9753 ns | 3,413.0083 ns | 93,995.697 ns | 103,541.611 ns | 1.00 | 0.00 | 0.8545 | - | 159264 B | 1.00 | +| | | | | | | | | | | | | | | +| FilterInFinallyBenchmark | TryWithInFinally_GuardHit | LocalCompiler | 1,972,895.145 ns | 8,926.4190 ns | 7,453.9641 ns | 1,969,982.098 ns | 1,984,866.016 ns | 0.96 | 0.01 | - | - | 224000 B | 1.00 | +| FilterInFinallyBenchmark | TryWithInFinally_GuardHit | SdkCompiler | 2,068,823.482 ns | 26,346.7064 ns | 24,644.7255 ns | 2,058,629.232 ns | 2,102,062.206 ns | 1.00 | 0.00 | - | - | 224001 B | 1.00 | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | CharArrayReadWrite | LocalCompiler | 3,837.618 ns | 7.9594 ns | 6.6464 ns | 3,834.811 ns | 3,848.598 ns | 0.99 | 0.00 | - | - | - | NA | +| StelemLdelemBenchmark | CharArrayReadWrite | SdkCompiler | 3,884.815 ns | 19.1506 ns | 15.9916 ns | 3,878.658 ns | 3,914.045 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| TaskMergeSourcesBenchmark | TaskLetBangSequential | LocalCompiler | 5.368 ns | 0.1307 ns | 0.1790 ns | 5.324 ns | 5.703 ns | 1.00 | 0.06 | - | - | - | NA | +| TaskMergeSourcesBenchmark | TaskLetBangSequential | SdkCompiler | 5.382 ns | 0.1341 ns | 0.1435 ns | 5.359 ns | 5.664 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| CallVirtOnValueTypeBenchmark | StructInDictionary | LocalCompiler | 12,207.604 ns | 142.8089 ns | 133.5836 ns | 12,157.128 ns | 12,412.242 ns | 1.00 | 0.01 | 0.6866 | 0.0916 | 111648 B | 1.00 | +| CallVirtOnValueTypeBenchmark | StructInDictionary | SdkCompiler | 12,189.143 ns | 148.7887 ns | 165.3783 ns | 12,107.841 ns | 12,486.912 ns | 1.00 | 0.00 | 0.6866 | 0.0916 | 111648 B | 1.00 | +| | | | | | | | | | | | | | | +| FilterInFinallyBenchmark | SimpleTryFinally | LocalCompiler | 530.156 ns | 1.2822 ns | 1.0707 ns | 530.444 ns | 531.379 ns | 0.96 | 0.01 | - | - | - | NA | +| FilterInFinallyBenchmark | SimpleTryFinally | SdkCompiler | 552.759 ns | 10.7679 ns | 8.9917 ns | 548.853 ns | 569.225 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | SByteArrayReadWrite | LocalCompiler | 5,512.868 ns | 28.2968 ns | 26.4689 ns | 5,510.768 ns | 5,560.457 ns | 0.99 | 0.01 | - | - | - | NA | +| StelemLdelemBenchmark | SByteArrayReadWrite | SdkCompiler | 5,576.221 ns | 76.5248 ns | 63.9016 ns | 5,575.136 ns | 5,679.119 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| TaskMergeSourcesBenchmark | TaskSimple | LocalCompiler | 6.829 ns | 0.0918 ns | 0.0859 ns | 6.832 ns | 6.976 ns | 1.01 | 0.02 | 0.0004 | - | 72 B | 1.00 | +| TaskMergeSourcesBenchmark | TaskSimple | SdkCompiler | 6.746 ns | 0.1331 ns | 0.1112 ns | 6.704 ns | 6.943 ns | 1.00 | 0.00 | 0.0004 | - | 72 B | 1.00 | +| | | | | | | | | | | | | | | +| CallVirtOnValueTypeBenchmark | IntGetHashCode | LocalCompiler | 2,504.634 ns | 6.6625 ns | 5.9061 ns | 2,503.363 ns | 2,513.041 ns | 0.93 | 0.00 | - | - | - | NA | +| CallVirtOnValueTypeBenchmark | IntGetHashCode | SdkCompiler | 2,692.462 ns | 6.0291 ns | 5.3446 ns | 2,692.454 ns | 2,700.421 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | ByteArrayReadWrite | LocalCompiler | 3,827.056 ns | 20.1288 ns | 16.8085 ns | 3,833.095 ns | 3,837.618 ns | 1.02 | 0.00 | - | - | - | NA | +| StelemLdelemBenchmark | ByteArrayReadWrite | SdkCompiler | 3,742.817 ns | 8.5823 ns | 7.1666 ns | 3,745.259 ns | 3,752.045 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| CallVirtOnValueTypeBenchmark | DateTimeGetHashCode | LocalCompiler | 2,629.997 ns | 38.8126 ns | 34.4064 ns | 2,637.633 ns | 2,670.062 ns | 0.96 | 0.01 | - | - | - | NA | +| CallVirtOnValueTypeBenchmark | DateTimeGetHashCode | SdkCompiler | 2,724.887 ns | 10.5121 ns | 8.7781 ns | 2,720.738 ns | 2,741.800 ns | 1.00 | 0.00 | - | - | - | NA | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | IntArrayFilterToArray | LocalCompiler | 7,796.051 ns | 23.8529 ns | 21.1450 ns | 7,796.818 ns | 7,825.524 ns | 0.99 | 0.01 | 0.1221 | - | 21296 B | 1.00 | +| StelemLdelemBenchmark | IntArrayFilterToArray | SdkCompiler | 7,882.273 ns | 125.4244 ns | 111.1855 ns | 7,827.736 ns | 8,067.406 ns | 1.00 | 0.00 | 0.1221 | - | 21296 B | 1.00 | +| | | | | | | | | | | | | | | +| StelemLdelemBenchmark | BoolArrayCountTrue | LocalCompiler | 2,800.847 ns | 17.0188 ns | 15.0868 ns | 2,796.306 ns | 2,828.988 ns | 1.00 | 0.01 | - | - | - | NA | +| StelemLdelemBenchmark | BoolArrayCountTrue | SdkCompiler | 2,809.914 ns | 22.2283 ns | 20.7924 ns | 2,801.633 ns | 2,849.625 ns | 1.00 | 0.00 | - | - | - | NA | diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/CallVirtOnValueType.fs b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/CallVirtOnValueType.fs new file mode 100644 index 00000000000..c037ba88dee --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/CallVirtOnValueType.fs @@ -0,0 +1,73 @@ +/// Phase 2a: callvirt → call for value type methods +/// Tests struct GetHashCode/ToString/Equals performance +/// Changed: callvirt on unboxed value type → call (when boxity=AsValue) +module ILGenCodegen.CallVirtOnValueType + +open System +open System.Collections.Generic +open BenchmarkDotNet.Attributes + +[] +type MyPoint = + val X: int + val Y: int + new(x, y) = { X = x; Y = y } + override this.GetHashCode() = this.X ^^^ (this.Y <<< 16) + override this.Equals(other) = + match other with + | :? MyPoint as o -> this.X = o.X && this.Y = o.Y + | _ -> false + override this.ToString() = sprintf "(%d,%d)" this.X this.Y + +[] +type CallVirtOnValueTypeBenchmark() = + + let points = Array.init 10_000 (fun i -> MyPoint(i, i * 2)) + let _rng = Random(42) + + [] + member _.StructGetHashCode() = + let mutable sum = 0 + for p in points do + sum <- sum + p.GetHashCode() + sum + + [] + member _.StructToString() = + let mutable len = 0 + for i = 0 to 99 do + len <- len + points.[i].ToString().Length + len + + [] + member _.StructEquals() = + let mutable count = 0 + for i = 0 to points.Length - 2 do + if points.[i].Equals(points.[i + 1]) then + count <- count + 1 + count + + [] + member _.StructInDictionary() = + let dict = Dictionary() + for i = 0 to 999 do + dict.[points.[i]] <- i + let mutable sum = 0 + for i = 0 to 999 do + sum <- sum + dict.[points.[i]] + sum + + [] + member _.IntGetHashCode() = + let mutable sum = 0 + for i = 0 to 9999 do + sum <- sum + i.GetHashCode() + sum + + [] + member _.DateTimeGetHashCode() = + let now = DateTime.UtcNow + let mutable sum = 0 + for _ = 0 to 9999 do + sum <- sum + now.GetHashCode() + sum diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/CastThenBr.fs b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/CastThenBr.fs new file mode 100644 index 00000000000..fd688052b0a --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/CastThenBr.fs @@ -0,0 +1,69 @@ +/// Phase 2b: CastThenBr for interface join points +/// Tests match expressions returning interface types +/// Changed: adds castclass before join point branch when result is interface type +module ILGenCodegen.CastThenBr + +open System +open System.Collections.Generic +open BenchmarkDotNet.Attributes + +type IShape = + abstract Area: unit -> float + +type Circle(r: float) = + interface IShape with + member _.Area() = Math.PI * r * r + +type Square(s: float) = + interface IShape with + member _.Area() = s * s + +type Triangle(b: float, h: float) = + interface IShape with + member _.Area() = 0.5 * b * h + +[] +type CastThenBrBenchmark() = + + let rng = Random(42) + let indices = Array.init 10_000 (fun _ -> rng.Next(3)) + // Pre-allocate objects to eliminate allocation noise + let circle = Circle(1.0) :> IShape + let square = Square(2.0) :> IShape + let triangle = Triangle(3.0, 4.0) :> IShape + + [] + member _.MatchReturningInterface_NoAlloc() = + let mutable total = 0.0 + for i in indices do + let shape: IShape = + match i with + | 0 -> circle + | 1 -> square + | _ -> triangle + total <- total + shape.Area() + total + + [] + member _.MatchReturningInterface_Alloc() = + let mutable total = 0.0 + for i in indices do + let shape: IShape = + match i with + | 0 -> Circle(1.0) + | 1 -> Square(2.0) + | _ -> Triangle(3.0, 4.0) + total <- total + shape.Area() + total + + [] + member _.MatchReturningIComparable() = + let mutable sum = 0 + for i in indices do + let c: IComparable = + match i with + | 0 -> 42 :> IComparable + | 1 -> "hello" :> IComparable + | _ -> DateTime.UtcNow :> IComparable + sum <- sum + c.GetHashCode() + sum diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/FilterInFinally.fs b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/FilterInFinally.fs new file mode 100644 index 00000000000..54d675dee00 --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/FilterInFinally.fs @@ -0,0 +1,66 @@ +/// Phase 3: filter → catch inside finally handlers +/// Tests try/with inside finally blocks +/// Changed: when-guard uses catch instead of filter when inside finally/fault handler +module ILGenCodegen.FilterInFinally + +open System +open BenchmarkDotNet.Attributes + +[] +type FilterInFinallyBenchmark() = + + [] + member _.TryWithInFinally_NoException() = + let mutable sum = 0 + for i = 0 to 999 do + try + sum <- sum + i + finally + try + sum <- sum + 1 + with + | :? InvalidOperationException when sum > 0 -> + sum <- sum - 1 + sum + + [] + member _.TryWithInFinally_WithException() = + let mutable count = 0 + for _ = 0 to 999 do + try + try + raise (InvalidOperationException()) + with + | :? InvalidOperationException -> + count <- count + 1 + finally + try + () + with + | :? ArgumentException when count > 0 -> + count <- count - 1 + count + + [] + member _.TryWithInFinally_GuardHit() = + let mutable count = 0 + for _ = 0 to 999 do + try + count <- count + 1 + finally + try + raise (ArgumentException()) + with + | :? ArgumentException when count > 0 -> + count <- count + 1 + count + + [] + member _.SimpleTryFinally() = + let mutable sum = 0 + for i = 0 to 999 do + try + sum <- sum + i + finally + sum <- sum + 1 + sum diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/ILGenCodegen.fsproj b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/ILGenCodegen.fsproj new file mode 100644 index 00000000000..b10b0472e2e --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/ILGenCodegen.fsproj @@ -0,0 +1,35 @@ + + + + Exe + true + + + + $(MSBuildThisFileDirectory)../../../../artifacts/bin/fsc/Release/$(TargetFramework)/fsc.dll + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/Program.fs b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/Program.fs new file mode 100644 index 00000000000..122e4f4b673 --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/Program.fs @@ -0,0 +1,28 @@ +module ILGenCodegen.Program + +open System +open System.Reflection +open BenchmarkDotNet.Configs +open BenchmarkDotNet.Jobs +open BenchmarkDotNet.Running + +let config = + DefaultConfig.Instance + .AddJob( + Job.Default + .WithId("SdkCompiler") + .WithArguments([| MsBuildArgument "/p:BUILDING_USING_DOTNET=true" |]) + .AsBaseline()) + .AddJob( + Job.Default + .WithId("LocalCompiler") + .WithArguments([| MsBuildArgument "/p:BUILDING_USING_DOTNET=true" |]) + .WithCustomBuildConfiguration "LocalCompiler") + .WithOptions(ConfigOptions.JoinSummary) + .HideColumns("BuildConfiguration") + +ignore ( + BenchmarkSwitcher + .FromAssembly(Assembly.GetExecutingAssembly()) + .Run(Environment.GetCommandLineArgs(), config) +) diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/StelemLdelem.fs b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/StelemLdelem.fs new file mode 100644 index 00000000000..6ef413293bb --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/StelemLdelem.fs @@ -0,0 +1,71 @@ +/// Phase 1: stelem/ldelem specialization +/// Tests array read/write performance for primitive types +/// Changed: ldelem System.Boolean → ldelem.u1, stelem System.Int32 → stelem.i4, etc. +module ILGenCodegen.StelemLdelem + +open BenchmarkDotNet.Attributes + +[] +type StelemLdelemBenchmark() = + + let boolArr = Array.create 10_000 true + let intArr = Array.init 10_000 id + let charArr = Array.create 10_000 'x' + let sbyteArr = Array.create 10_000 42y + let byteArr = Array.create 10_000 42uy + + [] + member _.BoolArrayReadWrite() = + let arr = boolArr + let mutable sum = 0 + for i = 0 to arr.Length - 1 do + if arr.[i] then sum <- sum + 1 + arr.[i] <- (i % 2 = 0) + sum + + [] + member _.IntArrayReadWrite() = + let arr = intArr + let mutable sum = 0 + for i = 0 to arr.Length - 1 do + sum <- sum + arr.[i] + arr.[i] <- i + sum + + [] + member _.CharArrayReadWrite() = + let arr = charArr + let mutable sum = 0 + for i = 0 to arr.Length - 1 do + sum <- sum + int arr.[i] + arr.[i] <- char (i % 128) + sum + + [] + member _.SByteArrayReadWrite() = + let arr = sbyteArr + let mutable sum = 0 + for i = 0 to arr.Length - 1 do + sum <- sum + int arr.[i] + arr.[i] <- sbyte (i % 127) + sum + + [] + member _.ByteArrayReadWrite() = + let arr = byteArr + let mutable sum = 0 + for i = 0 to arr.Length - 1 do + sum <- sum + int arr.[i] + arr.[i] <- byte (i % 256) + sum + + [] + member _.IntArrayFilterToArray() = + intArr |> Array.filter (fun x -> x % 2 = 0) |> ignore + + [] + member _.BoolArrayCountTrue() = + let mutable count = 0 + for b in boolArr do + if b then count <- count + 1 + count diff --git a/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/TaskMergeSources.fs b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/TaskMergeSources.fs new file mode 100644 index 00000000000..5ba046d8f82 --- /dev/null +++ b/tests/benchmarks/CompiledCodeBenchmarks/ILGenCodegen/TaskMergeSources.fs @@ -0,0 +1,46 @@ +/// Phase 4: Witness field initialization fix in state machine structs +/// Tests task CE with multiple sources (let! ... and! ...) +/// Changed: correct field init order in GenStructStateMachine for $W methods +module ILGenCodegen.TaskMergeSources + +open System.Threading.Tasks +open BenchmarkDotNet.Attributes + +[] +type TaskMergeSourcesBenchmark() = + + [] + member _.TaskLetBangAndBang() = + let t = + task { + let! a = Task.FromResult 1 + and! b = Task.FromResult 2 + return a + b + } + t.Result + + [] + member _.TaskLetBangAndBang3() = + let t = + task { + let! a = Task.FromResult 1 + and! b = Task.FromResult 2 + and! c = Task.FromResult 3 + return a + b + c + } + t.Result + + [] + member _.TaskLetBangSequential() = + let t = + task { + let! a = Task.FromResult 1 + let! b = Task.FromResult 2 + return a + b + } + t.Result + + [] + member _.TaskSimple() = + let t = task { return 42 } + t.Result