IL Code for CpuComputeSerial

mail@pastecode.io avatar
unknown
yaml
2 years ago
2.2 kB
4
Indexable
Never
  .method private hidebysig static valuetype [System.Runtime]System.ValueTuple`2<int64, int32[]>
    CpuComputeSerial(
      int32[] a,
      int32[] b,
      int32 size
    ) cil managed
  {
    .maxstack 5
    .locals init (
      [0] int32[] c,
      [1] class [System.Runtime]System.Diagnostics.Stopwatch s,
      [2] int32 i
    )

    // [34 13 - 34 37]
    IL_0000: ldarg.2      // size
    IL_0001: newarr       [System.Runtime]System.Int32
    IL_0006: stloc.0      // c

    // [36 13 - 36 33]
    IL_0007: newobj       instance void [System.Runtime]System.Diagnostics.Stopwatch::.ctor()
    IL_000c: stloc.1      // s

    // [37 13 - 37 23]
    IL_000d: ldloc.1      // s
    IL_000e: callvirt     instance void [System.Runtime]System.Diagnostics.Stopwatch::Start()

    // [38 18 - 38 27]
    IL_0013: ldc.i4.0
    IL_0014: stloc.2      // i

    IL_0015: br.s         IL_0025
    // start of loop, entry point: IL_0025

      // [39 17 - 39 36]
      IL_0017: ldloc.0      // c
      IL_0018: ldloc.2      // i
      IL_0019: ldarg.0      // a
      IL_001a: ldloc.2      // i
      IL_001b: ldelem.i4
      IL_001c: ldarg.1      // b
      IL_001d: ldloc.2      // i
      IL_001e: ldelem.i4
      IL_001f: add
      IL_0020: stelem.i4

      // [38 39 - 38 42]
      IL_0021: ldloc.2      // i
      IL_0022: ldc.i4.1
      IL_0023: add
      IL_0024: stloc.2      // i

      // [38 29 - 38 37]
      IL_0025: ldloc.2      // i
      IL_0026: ldarg.2      // size
      IL_0027: blt.s        IL_0017
    // end of loop

    // [41 13 - 41 22]
    IL_0029: ldloc.1      // s
    IL_002a: callvirt     instance void [System.Runtime]System.Diagnostics.Stopwatch::Stop()

    // [42 13 - 42 47]
    IL_002f: ldloc.1      // s
    IL_0030: callvirt     instance int64 [System.Runtime]System.Diagnostics.Stopwatch::get_ElapsedMilliseconds()
    IL_0035: ldloc.0      // c
    IL_0036: newobj       instance void valuetype [System.Runtime]System.ValueTuple`2<int64, int32[]>::.ctor(!0/*int64*/, !1/*int32[]*/)
    IL_003b: ret

  } // end of method Program::CpuComputeSerial