StaticInit_Struct01.fs.il.net472.debug.bsl 15.2 KB
Newer Older
L
latkin 已提交
1

K
Kevin Ransom (msft) 已提交
2
//  Microsoft (R) .NET IL Disassembler.  Version 5.0.0-preview.7.20364.11
L
latkin 已提交
3 4 5 6 7 8 9 10 11 12 13 14



// Metadata version: v4.0.30319
.assembly extern mscorlib
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 4:0:0:0
}
.assembly extern FSharp.Core
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
15
  .ver 6:0:0:0
16 17 18 19 20
}
.assembly extern netstandard
{
  .publickeytoken = (CC 7B 13 FF CD 2D DD 51 )                         // .{...-.Q
  .ver 2:0:0:0
L
latkin 已提交
21 22 23 24 25 26 27 28
}
.assembly StaticInit_Struct01
{
  .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
                                                                                                      int32,
                                                                                                      int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) 

  // --- The following custom attribute is added automatically, do not uncomment -------
K
Kevin Ransom (msft) 已提交
29
  //  .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 03 01 00 00 00 00 ) 
L
latkin 已提交
30 31 32 33 34 35

  .hash algorithm 0x00008004
  .ver 0:0:0:0
}
.mresource public FSharpSignatureData.StaticInit_Struct01
{
K
Kevin Ransom (msft) 已提交
36 37
  // Offset: 0x00000000 Length: 0x000007E0
  // WARNING: managed resource file FSharpSignatureData.StaticInit_Struct01 created
L
latkin 已提交
38 39 40
}
.mresource public FSharpOptimizationData.StaticInit_Struct01
{
K
Kevin Ransom (msft) 已提交
41 42
  // Offset: 0x000007E8 Length: 0x0000021F
  // WARNING: managed resource file FSharpOptimizationData.StaticInit_Struct01 created
L
latkin 已提交
43
}
K
Kevin Ransom (msft) 已提交
44 45
.module StaticInit_Struct01.exe
// MVID: {624CCAB9-1F68-8E9A-A745-0383B9CA4C62}
L
latkin 已提交
46 47 48 49 50
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003       // WINDOWS_CUI
.corflags 0x00000001    //  ILONLY
K
Kevin Ransom (msft) 已提交
51
// Image base: 0x034B0000
L
latkin 已提交
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75


// =============== CLASS MEMBERS DECLARATION ===================

.class public abstract auto ansi sealed StaticInit_Struct01
       extends [mscorlib]System.Object
{
  .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) 
  .class sequential ansi serializable sealed nested public C
         extends [mscorlib]System.ValueType
         implements class [mscorlib]System.IEquatable`1<valuetype StaticInit_Struct01/C>,
                    [mscorlib]System.Collections.IStructuralEquatable,
                    class [mscorlib]System.IComparable`1<valuetype StaticInit_Struct01/C>,
                    [mscorlib]System.IComparable,
                    [mscorlib]System.Collections.IStructuralComparable
  {
    .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) 
    .field static assembly int32 x
    .field static assembly int32 init@4
    .field assembly valuetype [mscorlib]System.DateTime s
    .method public hidebysig virtual final 
            instance int32  CompareTo(valuetype StaticInit_Struct01/C obj) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
K
Kevin Ransom (msft) 已提交
76
      // Code size       34 (0x22)
77
      .maxstack  4
78
      .locals init (valuetype StaticInit_Struct01/C& V_0,
K
Kevin Ransom (msft) 已提交
79 80 81 82
               class [mscorlib]System.Collections.IComparer V_1,
               valuetype [mscorlib]System.DateTime V_2,
               valuetype [mscorlib]System.DateTime V_3,
               class [mscorlib]System.Collections.IComparer V_4)
D
Don Syme 已提交
83 84 85
      IL_0000:  ldarga.s   obj
      IL_0002:  stloc.0
      IL_0003:  call       class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer()
86 87 88
      IL_0008:  stloc.1
      IL_0009:  ldarg.0
      IL_000a:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
K
Kevin Ransom (msft) 已提交
89 90 91 92 93 94 95 96 97
      IL_000f:  stloc.2
      IL_0010:  ldloc.0
      IL_0011:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
      IL_0016:  stloc.3
      IL_0017:  ldloc.1
      IL_0018:  stloc.s    V_4
      IL_001a:  ldloc.2
      IL_001b:  ldloc.3
      IL_001c:  call       int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime,
98
                                                                       valuetype [netstandard]System.DateTime)
K
Kevin Ransom (msft) 已提交
99
      IL_0021:  ret
L
latkin 已提交
100 101 102 103 104 105
    } // end of method C::CompareTo

    .method public hidebysig virtual final 
            instance int32  CompareTo(object obj) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
D
Don Syme 已提交
106 107 108 109 110 111 112
      // Code size       13 (0xd)
      .maxstack  8
      IL_0000:  ldarg.0
      IL_0001:  ldarg.1
      IL_0002:  unbox.any  StaticInit_Struct01/C
      IL_0007:  call       instance int32 StaticInit_Struct01/C::CompareTo(valuetype StaticInit_Struct01/C)
      IL_000c:  ret
L
latkin 已提交
113 114 115 116 117 118 119
    } // end of method C::CompareTo

    .method public hidebysig virtual final 
            instance int32  CompareTo(object obj,
                                      class [mscorlib]System.Collections.IComparer comp) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
K
Kevin Ransom (msft) 已提交
120
      // Code size       39 (0x27)
121
      .maxstack  4
122 123
      .locals init (valuetype StaticInit_Struct01/C V_0,
               valuetype StaticInit_Struct01/C& V_1,
K
Kevin Ransom (msft) 已提交
124 125 126 127
               class [mscorlib]System.Collections.IComparer V_2,
               valuetype [mscorlib]System.DateTime V_3,
               valuetype [mscorlib]System.DateTime V_4,
               class [mscorlib]System.Collections.IComparer V_5)
D
Don Syme 已提交
128 129 130 131 132 133
      IL_0000:  ldarg.1
      IL_0001:  unbox.any  StaticInit_Struct01/C
      IL_0006:  stloc.0
      IL_0007:  ldloca.s   V_0
      IL_0009:  stloc.1
      IL_000a:  ldarg.2
134 135 136
      IL_000b:  stloc.2
      IL_000c:  ldarg.0
      IL_000d:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
K
Kevin Ransom (msft) 已提交
137 138 139 140 141 142 143 144 145
      IL_0012:  stloc.3
      IL_0013:  ldloc.1
      IL_0014:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
      IL_0019:  stloc.s    V_4
      IL_001b:  ldloc.2
      IL_001c:  stloc.s    V_5
      IL_001e:  ldloc.3
      IL_001f:  ldloc.s    V_4
      IL_0021:  call       int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime,
146
                                                                       valuetype [netstandard]System.DateTime)
K
Kevin Ransom (msft) 已提交
147
      IL_0026:  ret
L
latkin 已提交
148 149 150 151 152 153
    } // end of method C::CompareTo

    .method public hidebysig virtual final 
            instance int32  GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
D
Don Syme 已提交
154
      // Code size       31 (0x1f)
L
latkin 已提交
155
      .maxstack  7
156
      .locals init (int32 V_0)
D
Don Syme 已提交
157 158 159 160 161 162 163
      IL_0000:  ldc.i4.0
      IL_0001:  stloc.0
      IL_0002:  ldc.i4     0x9e3779b9
      IL_0007:  ldarg.1
      IL_0008:  ldarg.0
      IL_0009:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
      IL_000e:  call       int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic<valuetype [mscorlib]System.DateTime>(class [mscorlib]System.Collections.IEqualityComparer,
L
latkin 已提交
164
                                                                                                                                                                          !!0)
D
Don Syme 已提交
165 166 167 168 169 170 171
      IL_0013:  ldloc.0
      IL_0014:  ldc.i4.6
      IL_0015:  shl
      IL_0016:  ldloc.0
      IL_0017:  ldc.i4.2
      IL_0018:  shr
      IL_0019:  add
L
latkin 已提交
172 173
      IL_001a:  add
      IL_001b:  add
D
Don Syme 已提交
174 175 176
      IL_001c:  stloc.0
      IL_001d:  ldloc.0
      IL_001e:  ret
L
latkin 已提交
177 178 179 180 181 182
    } // end of method C::GetHashCode

    .method public hidebysig virtual final 
            instance int32  GetHashCode() cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
D
Don Syme 已提交
183 184 185 186 187 188
      // Code size       12 (0xc)
      .maxstack  8
      IL_0000:  ldarg.0
      IL_0001:  call       class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer()
      IL_0006:  call       instance int32 StaticInit_Struct01/C::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer)
      IL_000b:  ret
L
latkin 已提交
189 190 191 192 193 194 195
    } // end of method C::GetHashCode

    .method public hidebysig virtual final 
            instance bool  Equals(object obj,
                                  class [mscorlib]System.Collections.IEqualityComparer comp) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
K
Kevin Ransom (msft) 已提交
196
      // Code size       56 (0x38)
197
      .maxstack  4
K
Kevin Ransom (msft) 已提交
198 199 200 201 202 203 204
      .locals init (object V_0,
               valuetype StaticInit_Struct01/C V_1,
               valuetype StaticInit_Struct01/C& V_2,
               class [mscorlib]System.Collections.IEqualityComparer V_3,
               valuetype [mscorlib]System.DateTime V_4,
               valuetype [mscorlib]System.DateTime V_5,
               class [mscorlib]System.Collections.IEqualityComparer V_6)
D
Don Syme 已提交
205
      IL_0000:  ldarg.1
D
Don Syme 已提交
206 207 208 209 210
      IL_0001:  stloc.0
      IL_0002:  ldloc.0
      IL_0003:  isinst     StaticInit_Struct01/C
      IL_0008:  ldnull
      IL_0009:  cgt.un
K
Kevin Ransom (msft) 已提交
211
      IL_000b:  brfalse.s  IL_0036
D
Don Syme 已提交
212

D
Don Syme 已提交
213 214
      IL_000d:  ldarg.1
      IL_000e:  unbox.any  StaticInit_Struct01/C
D
Don Syme 已提交
215
      IL_0013:  stloc.1
D
Don Syme 已提交
216 217 218 219 220 221
      IL_0014:  ldloca.s   V_1
      IL_0016:  stloc.2
      IL_0017:  ldarg.2
      IL_0018:  stloc.3
      IL_0019:  ldarg.0
      IL_001a:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
K
Kevin Ransom (msft) 已提交
222 223 224 225 226 227 228 229 230
      IL_001f:  stloc.s    V_4
      IL_0021:  ldloc.2
      IL_0022:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
      IL_0027:  stloc.s    V_5
      IL_0029:  ldloc.3
      IL_002a:  stloc.s    V_6
      IL_002c:  ldloc.s    V_4
      IL_002e:  ldloc.s    V_5
      IL_0030:  call       bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime,
231
                                                                     valuetype [netstandard]System.DateTime)
K
Kevin Ransom (msft) 已提交
232
      IL_0035:  ret
L
latkin 已提交
233

K
Kevin Ransom (msft) 已提交
234 235
      IL_0036:  ldc.i4.0
      IL_0037:  ret
L
latkin 已提交
236 237 238 239 240
    } // end of method C::Equals

    .method public specialname rtspecialname 
            instance void  .ctor(valuetype [mscorlib]System.DateTime s) cil managed
    {
D
Don Syme 已提交
241 242 243 244 245 246
      // Code size       8 (0x8)
      .maxstack  8
      IL_0000:  ldarg.0
      IL_0001:  ldarg.1
      IL_0002:  stfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
      IL_0007:  ret
L
latkin 已提交
247 248 249 250 251
    } // end of method C::.ctor

    .method assembly static int32  f() cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
D
Don Syme 已提交
252
      // Code size       38 (0x26)
D
Don Syme 已提交
253
      .maxstack  8
D
Don Syme 已提交
254 255 256 257 258 259 260
      IL_0000:  nop
      IL_0001:  volatile.
      IL_0003:  ldsfld     int32 StaticInit_Struct01/C::init@4
      IL_0008:  ldc.i4.1
      IL_0009:  bge.s      IL_0014

      IL_000b:  call       void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit()
D
Don Syme 已提交
261
      IL_0010:  nop
D
Don Syme 已提交
262 263
      IL_0011:  nop
      IL_0012:  br.s       IL_0015
D
Don Syme 已提交
264

D
Don Syme 已提交
265 266 267 268 269 270
      IL_0014:  nop
      IL_0015:  ldsfld     int32 StaticInit_Struct01/C::x
      IL_001a:  ldstr      "2"
      IL_001f:  callvirt   instance int32 [mscorlib]System.String::get_Length()
      IL_0024:  add
      IL_0025:  ret
L
latkin 已提交
271 272 273 274 275 276
    } // end of method C::f

    .method public hidebysig virtual final 
            instance bool  Equals(valuetype StaticInit_Struct01/C obj) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
277
      // Code size       21 (0x15)
L
latkin 已提交
278
      .maxstack  4
279
      .locals init (valuetype StaticInit_Struct01/C& V_0)
D
Don Syme 已提交
280 281 282 283 284 285
      IL_0000:  ldarga.s   obj
      IL_0002:  stloc.0
      IL_0003:  ldarg.0
      IL_0004:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
      IL_0009:  ldloc.0
      IL_000a:  ldfld      valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
286 287
      IL_000f:  call       bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime,
                                                                     valuetype [netstandard]System.DateTime)
288
      IL_0014:  ret
L
latkin 已提交
289 290 291 292 293 294
    } // end of method C::Equals

    .method public hidebysig virtual final 
            instance bool  Equals(object obj) cil managed
    {
      .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
D
Don Syme 已提交
295
      // Code size       30 (0x1e)
L
latkin 已提交
296
      .maxstack  4
K
Kevin Ransom (msft) 已提交
297 298
      .locals init (object V_0,
               valuetype StaticInit_Struct01/C V_1)
D
Don Syme 已提交
299
      IL_0000:  ldarg.1
D
Don Syme 已提交
300 301 302 303 304 305
      IL_0001:  stloc.0
      IL_0002:  ldloc.0
      IL_0003:  isinst     StaticInit_Struct01/C
      IL_0008:  ldnull
      IL_0009:  cgt.un
      IL_000b:  brfalse.s  IL_001c
D
Don Syme 已提交
306

D
Don Syme 已提交
307 308 309 310 311 312 313
      IL_000d:  ldarg.1
      IL_000e:  unbox.any  StaticInit_Struct01/C
      IL_0013:  stloc.1
      IL_0014:  ldarg.0
      IL_0015:  ldloc.1
      IL_0016:  call       instance bool StaticInit_Struct01/C::Equals(valuetype StaticInit_Struct01/C)
      IL_001b:  ret
D
Don Syme 已提交
314

D
Don Syme 已提交
315 316
      IL_001c:  ldc.i4.0
      IL_001d:  ret
L
latkin 已提交
317 318 319 320 321 322
    } // end of method C::Equals

    .method private specialname rtspecialname static 
            void  .cctor() cil managed
    {
      // Code size       13 (0xd)
D
Don Syme 已提交
323
      .maxstack  8
L
latkin 已提交
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
      IL_0000:  ldc.i4.0
      IL_0001:  stsfld     int32 '<StartupCode$StaticInit_Struct01>'.$StaticInit_Struct01::init@
      IL_0006:  ldsfld     int32 '<StartupCode$StaticInit_Struct01>'.$StaticInit_Struct01::init@
      IL_000b:  pop
      IL_000c:  ret
    } // end of method C::.cctor

  } // end of class C

} // end of class StaticInit_Struct01

.class private abstract auto ansi sealed '<StartupCode$StaticInit_Struct01>'.$StaticInit_Struct01
       extends [mscorlib]System.Object
{
  .field static assembly int32 init@
  .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) 
  .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
  .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) 
K
Kevin Ransom (msft) 已提交
342
  .method public static void  main@() cil managed
L
latkin 已提交
343
  {
K
Kevin Ransom (msft) 已提交
344
    .entrypoint
D
Don Syme 已提交
345 346 347 348 349 350 351 352 353
    // Code size       24 (0x18)
    .maxstack  8
    IL_0000:  ldstr      "1"
    IL_0005:  callvirt   instance int32 [mscorlib]System.String::get_Length()
    IL_000a:  stsfld     int32 StaticInit_Struct01/C::x
    IL_000f:  ldc.i4.1
    IL_0010:  volatile.
    IL_0012:  stsfld     int32 StaticInit_Struct01/C::init@4
    IL_0017:  ret
K
Kevin Ransom (msft) 已提交
354
  } // end of method $StaticInit_Struct01::main@
L
latkin 已提交
355 356 357 358 359 360 361

} // end of class '<StartupCode$StaticInit_Struct01>'.$StaticInit_Struct01


// =============================================================

// *********** DISASSEMBLY COMPLETE ***********************
K
Kevin Ransom (msft) 已提交
362
// WARNING: Created Win32 resource file c:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net472\tests\EmittedIL\StaticInit\StaticInit_Struct01_fs\StaticInit_Struct01.res