1 // The ILX implementation of PrelGHC
3 // This file isn't really preprocessed, but it's kept as a .pp file
4 // because .ilx files aren't precious, and may be deleted
7 .module extern 'PrelBase.i_o'
8 .classunion import [.module 'PrelBase.i_o']PrelBase_Bool {.alternative 'PrelBase_False' ()
9 .alternative 'PrelBase_True' ()}
10 .assembly extern 'mscorlib' { }
14 .method public static class [.module 'PrelBase.i_o']PrelBase_Bool mkBool (bool b) {
17 newdata class [.module 'PrelBase.i_o']PrelBase_Bool, PrelBase_False()
20 newdata class [.module 'PrelBase.i_o']PrelBase_Bool, PrelBase_True()
23 .method public static int32 IntGcdOp (int32,int32) {
24 ldstr "WARNING: IntGcdOp called (warning! not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
28 .method public static value class PrelGHC_Z2H<int32,int32> IntSubCOp(int32 a,int32 b) {
29 .locals(int32 r, int32 c)
30 ldstr "WARNING: IntSubCOp called (warning! not yet tested properly)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
32 ldarg a ldarg b sub stloc r
33 //c = ((a^r) & (a^b)) >> 31
34 ldloc r ldarg a xor ldarg a ldarg b xor and ldc.i4 31 shr.un stloc c
36 ldloc r ldloc c newobj void value class PrelGHC_Z2H<int32, int32 >::.ctor(!0,!1)
37 ldstr "a = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg a call void ['mscorlib']System.Console::WriteLine(int32)
38 ldstr "b = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg b call void ['mscorlib']System.Console::WriteLine(int32)
39 ldstr "r = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldloc r call void ['mscorlib']System.Console::WriteLine(int32)
40 ldstr "c = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldloc c call void ['mscorlib']System.Console::WriteLine(int32)
43 .method public static value class PrelGHC_Z2H<int32,int32> IntAddCOp(int32 a,int32 b) {
44 .locals(int32 r, int32 c)
45 ldstr "WARNING: IntAddCOp called (warning! not yet tested properly)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
47 ldarg a ldarg b add stloc r
48 //c = ((a^r) & ~(a^b)) >> 31
49 ldloc r ldarg a xor ldarg a ldarg b xor not and ldc.i4 31 shr.un stloc c
51 ldloc r ldloc c newobj void value class PrelGHC_Z2H<int32, int32 >::.ctor(!0,!1)
52 ldstr "a = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg a call void ['mscorlib']System.Console::WriteLine(int32)
53 ldstr "b = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg b call void ['mscorlib']System.Console::WriteLine(int32)
54 ldstr "r = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldloc r call void ['mscorlib']System.Console::WriteLine(int32)
55 ldstr "c = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldloc c call void ['mscorlib']System.Console::WriteLine(int32)
59 // TODO: check me!!! test me!!!!
60 .method public static value class PrelGHC_Z2H<int32,int32> IntMulCOp(int32 a,int32 b) {
61 .locals(int64 l, int32 r, int32 c)
63 ldstr "WARNING: IntMulCOp called (warning! not yet tested properly)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
65 //r=(StgInt64)a * (StgInt64)b
71 ldloc l ldc.i8 0x80000000 rem conv.i4 stloc r
72 ldloc l ldc.i8 0x80000000 div conv.i4 stloc c
74 ldloc r ldloc c newobj void value class PrelGHC_Z2H<int32, int32 >::.ctor(!0,!1)
75 ldstr "a = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg a call void ['mscorlib']System.Console::WriteLine(int32)
76 ldstr "b = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg b call void ['mscorlib']System.Console::WriteLine(int32)
77 ldstr "r = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldloc r call void ['mscorlib']System.Console::WriteLine(int32)
78 ldstr "c = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldloc c call void ['mscorlib']System.Console::WriteLine(int32)
87 'catch'<any,any>( thunk<(func ( /* unit skipped */ ) --> !!0)> f1, thunk<(func (!!1) --> (func ( /* unit skipped */ ) --> !!0))> f2)
89 .locals(!!0 res, !!1 exn)
90 //LOG ldstr "LOG: Entering catch..." call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
94 callfunc () ( /* unit skipped */ ) --> !!0
96 //LOG ldstr "LOG: Leaving catch..." call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
98 } catch [mscorlib]System.Object {
100 // exception of type !!1 should be on the stack??
101 dup ldstr "LOG: CAUGHT! , Exn = " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.Object)
112 ldstr "LOG: CAUGHT! Executing handler..." call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
115 tail. callfunc () (!!1) --> !!0
121 .method public static !!0 'unblockAsyncExceptions'<any>( thunk<(func ( /* unit skipped */ ) --> !!0)> f )
123 //ldstr "WARNING: unblockAsyncExceptions called (warning! not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
126 tail. callfunc () ( /* unit skipped */ ) --> !!0
130 .method public static !!0 'blockAsyncExceptions'<any>( thunk<(func ( /* unit skipped */ ) --> !!0)> f )
132 //ldstr "WARNING: blockAsyncExceptions called (warning! not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
135 tail. callfunc () ( /* unit skipped */ ) --> !!0
141 .method public static !!0 'takeMVar'<any> (class PrelGHC_MVarzh<!!0> mvar)
143 //ldstr "WARNING: takeMVar called (warning! locking not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
144 ldarg mvar ldfld !0 class PrelGHC_MVarzh<!!0>::contents
145 //LOG ldstr "LOG: takeMVar returned: " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) dup call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.Object)
146 //LOG ldstr "LOG: for MVar: " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg mvar ldfld int32 class PrelGHC_MVarzh<!!0>::id call void ['mscorlib']System.Console::WriteLine(int32)
151 .method public static void 'putMVar'<any>(class PrelGHC_MVarzh<!!0> mvar ,!!0 v)
153 //ldstr "WARNING: putMVar called (warning! locking not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
154 ldarg mvar ldarg v stfld !0 class PrelGHC_MVarzh<!!0>::contents
156 //LOG ldstr "LOG: putMVar put: " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg v call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.Object)
157 //LOG ldstr "LOG: for MVar: " call void ['mscorlib']System.Console::Write(class ['mscorlib']System.String) ldarg mvar ldfld int32 class PrelGHC_MVarzh<!!0>::id call void ['mscorlib']System.Console::WriteLine(int32)
161 // Enter, if (null(Read)) Wait Exit
162 .method public static value class PrelGHC_Z2H<int32, !!0> 'tryTakeMVar'<any>(class PrelGHC_MVarzh<!!0> mvar)
164 ldstr "WARNING: tryTakeMVar called (locking not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
166 ldarg mvar ldfld !0 class PrelGHC_MVarzh<!!0>::contents
167 newobj void value class PrelGHC_Z2H<int32,!!0>::.ctor(!0,!1)
172 // Enter, if (null(Read)) Wait Exit
173 .method public static int32 'tryPutMVar'<any>(class PrelGHC_MVarzh<!!0> mvar, !!0 v)
175 ldstr "WARNING: tryPutMVar called (locking not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
182 .method public static int32 isEmptyMVar<any>(class PrelGHC_MVarzh<!!0> mvar)
184 ldstr "WARNING: isEmptyMVar called (locking not yet implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
190 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerAddOp(int32, unsigned int8[], int32, unsigned int8[]) {
191 ldstr "WARNING: IntegerAddOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
193 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
197 .method public static int32 IntegerCmpIntOp(int32, unsigned int8[], int32) {
198 ldstr "WARNING: IntegerCmpIntOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
202 .method public static int32 IntegerCmpOp(int32, unsigned int8[], int32, unsigned int8[]) {
203 ldstr "WARNING: IntegerCmpOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
207 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerSubOp(int32, unsigned int8[], int32, unsigned int8[]) {
208 ldstr "WARNING: IntegerSubOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
210 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
214 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerMulOp(int32, unsigned int8[], int32, unsigned int8[]) {
215 ldstr "WARNING: IntegerMulOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
217 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
221 .method public static value class PrelGHC_Z4H<int32, unsigned int8[],int32, unsigned int8[]> IntegerQuotRemOp(int32, unsigned int8[], int32, unsigned int8[]) {
222 ldstr "WARNING: IntegerQuotRemOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
223 ldc.i4 0 ldnull ldc.i4 0 ldnull
224 newobj void value class PrelGHC_Z4H<int32, unsigned int8[],int32, unsigned int8[]>::.ctor(!0,!1,!2,!3)
228 .method public static value class PrelGHC_Z4H<int32, unsigned int8[],int32, unsigned int8[]> IntegerDivModOp(int32, unsigned int8[], int32, unsigned int8[]) {
229 ldstr "WARNING: IntegerDivModOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
230 ldc.i4 0 ldnull ldc.i4 0 ldnull
231 newobj void value class PrelGHC_Z4H<int32, unsigned int8[],int32, unsigned int8[]>::.ctor(!0,!1,!2,!3)
234 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerDivExactOp(int32, unsigned int8[], int32, unsigned int8[]) {
235 ldstr "WARNING: IntegerDivExactOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
237 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
240 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerQuotOp(int32, unsigned int8[], int32, unsigned int8[]) {
241 ldstr "WARNING: IntegerQuotOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
243 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
246 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerAndOp(int32, unsigned int8[], int32, unsigned int8[]) {
247 ldstr "WARNING: IntegerAndOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
249 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
253 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerRemOp(int32, unsigned int8[], int32, unsigned int8[]) {
254 ldstr "WARNING: IntegerRemOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
256 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
261 .method public static int32 Integer2IntOp(int32, unsigned int8[]) {
262 ldstr "WARNING: Integer2IntOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
267 .method public static unsigned int32 Integer2WordOp(int32, unsigned int8[]) {
268 ldstr "WARNING: Integer2WordOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
273 .method public static int64 IntegerToInt64Op(int32, unsigned int8[]) {
274 ldstr "WARNING: IntegerToInt64Op called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
279 .method public static unsigned int64 IntegerToWord64Op(int32, unsigned int8[]) {
280 ldstr "WARNING: IntegerToWord64Op called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
285 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> Int2IntegerOp(int32) {
286 ldstr "WARNING: Integer2IntOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
288 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
292 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> Word2IntegerOp(unsigned int32) {
293 ldstr "WARNING: Word2IntegerOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
295 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
299 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> Word64ToIntegerOp(unsigned int64) {
300 ldstr "WARNING: Word64ToIntegerOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
302 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
306 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> Int64ToIntegerOp(int64) {
307 ldstr "WARNING: Int64ToIntegerOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
309 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
313 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerOrOp(int32, unsigned int8[], int32, unsigned int8[]) {
314 ldstr "WARNING: IntegerOrOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
316 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
320 .method public static int32 IntegerIntGcdOp(int32, unsigned int8[], int32) {
321 ldstr "WARNING: IntegerOrOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
325 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerXorOp(int32, unsigned int8[], int32, unsigned int8[]) {
326 ldstr "WARNING: IntegerXorOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
328 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
332 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerGcdOp(int32, unsigned int8[], int32, unsigned int8[]) {
333 ldstr "WARNING: IntegerGcdOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
335 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
339 .method public static value class PrelGHC_Z2H<int32, unsigned int8[]> IntegerComplementOp(int32, unsigned int8[]) {
340 ldstr "WARNING: IntegerComplementOp called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
342 newobj void value class PrelGHC_Z2H<int32, unsigned int8[]>::.ctor(!0,!1)
346 .method public static value class PrelGHC_Z3H<int32,int32, unsigned int8[]> decodeFloat(float32 f) {
347 ldstr "WARNING: decodeFloat called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
348 ldarg f conv.r8 call float64 [mscorlib]System.Math::Abs(float64) call float64 [mscorlib]System.Math::Log(float64) conv.i4
350 newobj void value class PrelGHC_Z3H<int32,int32, unsigned int8[]>::.ctor(!0,!1,!2)
354 .method public static value class PrelGHC_Z3H<int32,int32, unsigned int8[]> decodeDouble(float64 f) {
355 ldstr "WARNING: decodeDouble called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
356 ldarg f call float64 [mscorlib]System.Math::Abs(float64) call float64 [mscorlib]System.Math::Log(float64) conv.i4
358 newobj void value class PrelGHC_Z3H<int32,int32, unsigned int8[]>::.ctor(!0,!1,!2)
363 .method public static !!0[] newArray<any>(int32 n, !!0 x) {
364 .locals(int32 i, !!0[] res)
385 .method public static int32 dataToTag<any>(!!0 x) {
386 ldstr "WARNING: dataToTag called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
390 .method public static !!0 tagToEnum<any>(int32) {
391 ldstr "WARNING: tagToEnum called (not implemented)" call void ['mscorlib']System.Console::WriteLine(class ['mscorlib']System.String)
398 //--------------------------------------------
401 .class public 'PrelGHC_MVarzh'<any> {
402 .field public !0 contents
403 .field public int32 id
404 .field static public int32 ids
405 .method public rtspecialname specialname instance void .ctor() {
407 ldsfld int32 class PrelGHC_MVarzh::ids
411 stsfld int32 class PrelGHC_MVarzh::ids
412 stfld int32 class PrelGHC_MVarzh<!0>::id
418 .class public 'PrelGHC_StablePtrzh' /* <any> */ {
419 .field public class [mscorlib]System.Object contents
420 .method public rtspecialname specialname instance void .ctor(class [mscorlib]System.Object) {
421 ldarg 0 ldarg 1 stfld class [mscorlib]System.Object class PrelGHC_StablePtrzh::contents
426 .class public 'PrelGHC_StableNamezh' /* <any> */ {
427 .method public rtspecialname specialname instance void .ctor() {
432 .class public 'PrelGHC_Foreignzh' {
433 .field public void * contents
434 .method public rtspecialname specialname instance void .ctor(void *) {
435 ldarg 0 ldarg 1 stfld void * class PrelGHC_Foreignzh::contents
441 .class public 'PrelGHC_Weakzh'<any> {
442 .field public !0 contents
443 .field public thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)> _finalizer
444 .method public rtspecialname specialname instance void .ctor(!0 x, thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)> f) {
445 ldarg 0 ldarg x stfld !0 class PrelGHC_Weakzh<!0>::contents
446 ldarg 0 ldarg f stfld thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)> class PrelGHC_Weakzh<!0>::_finalizer
449 .method public static value class PrelGHC_Z2H<int32,thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)>> finalizer<any>(class PrelGHC_Weakzh<!!0>) {
451 ldarg 0 ldfld thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)> class PrelGHC_Weakzh<!!0>::_finalizer
452 newobj void value class PrelGHC_Z2H<int32,thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)>>::.ctor(!0,!1)
455 .method public static value class PrelGHC_Z2H<int32,!!0> deref<any>(class PrelGHC_Weakzh<!!0>) {
457 ldarg 0 ldfld !0 class PrelGHC_Weakzh<!!0>::contents
458 newobj void value class PrelGHC_Z2H<int32,!!0>::.ctor(!0,!1)
461 .method public static
462 class PrelGHC_Weakzh<!!1>
463 bake<any,any>(!!0,!!1 obj,thunk<(func () --> class [.module 'PrelBase.i_o']PrelBase_Z0T)> finalizer) {
466 newobj void class 'PrelGHC_Weakzh'<!!1>::.ctor(!0 x, thunk<(func ( /* unit skipped */ ) --> class [.module 'PrelBase.i_o']PrelBase_Z0T)>)
472 .class public 'PrelGHC_MutVarzh'<any> {
473 .field public !0 contents
474 .method public rtspecialname specialname instance void .ctor(!0) {
475 ldarg 0 ldarg 1 stfld !0 class PrelGHC_MutVarzh<!0>::contents
480 .class public PrelGHC_ZCTCCallable<any> {
483 .class public PrelGHC_BCOzh {
486 .class public PrelGHC_ZCTCReturnable<any> {
490 //------------------------------------------------------------
491 // Builtin Unboxed Tuple Types
493 .class value sealed 'PrelGHC_Z1H' <any> extends ['mscorlib']System.ValueType {
494 .method public rtspecialname specialname instance void .ctor(!0) {
495 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z1H<!0>::fld0
498 .field public !0 fld0
501 .class value sealed 'PrelGHC_Z2H' <any,any> extends ['mscorlib']System.ValueType {
502 .method public rtspecialname specialname instance void .ctor(!0,!1) {
503 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z2H<!0,!1>::fld0
504 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z2H<!0,!1>::fld1
507 .field public !0 fld0
508 .field public !1 fld1
511 .class value sealed 'PrelGHC_Z3H' <any,any,any> extends ['mscorlib']System.ValueType {
512 .method public rtspecialname specialname instance void .ctor(!0,!1,!2) {
513 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z3H<!0,!1,!2>::fld0
514 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z3H<!0,!1,!2>::fld1
515 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z3H<!0,!1,!2>::fld2
518 .field public !0 fld0
519 .field public !1 fld1
520 .field public !2 fld2
523 .class value sealed 'PrelGHC_Z4H' <any,any,any,any> extends ['mscorlib']System.ValueType {
524 .method public rtspecialname specialname instance void .ctor(!0,!1,!2,!3) {
525 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z4H<!0,!1,!2,!3>::fld0
526 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z4H<!0,!1,!2,!3>::fld1
527 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z4H<!0,!1,!2,!3>::fld2
528 ldarg 0 ldarg 4 stfld !3 class PrelGHC_Z4H<!0,!1,!2,!3>::fld3
531 .field public !0 fld0
532 .field public !1 fld1
533 .field public !2 fld2
534 .field public !3 fld3
537 .class value sealed 'PrelGHC_Z5H' <any,any,any,any,any> extends ['mscorlib']System.ValueType {
538 .method public rtspecialname specialname instance void .ctor(!0,!1,!2,!3,!4) {
539 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z5H<!0,!1,!2,!3,!4>::fld0
540 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z5H<!0,!1,!2,!3,!4>::fld1
541 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z5H<!0,!1,!2,!3,!4>::fld2
542 ldarg 0 ldarg 4 stfld !3 class PrelGHC_Z5H<!0,!1,!2,!3,!4>::fld3
543 ldarg 0 ldarg 5 stfld !4 class PrelGHC_Z5H<!0,!1,!2,!3,!4>::fld4
546 .field public !0 fld0
547 .field public !1 fld1
548 .field public !2 fld2
549 .field public !3 fld3
550 .field public !4 fld4
553 .class value sealed 'PrelGHC_Z6H' <any,any,any,any,any,any> extends ['mscorlib']System.ValueType {
554 .method public rtspecialname specialname instance void .ctor(!0,!1,!2,!3,!4,!5) {
555 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z6H<!0,!1,!2,!3,!4,!5>::fld0
556 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z6H<!0,!1,!2,!3,!4,!5>::fld1
557 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z6H<!0,!1,!2,!3,!4,!5>::fld2
558 ldarg 0 ldarg 4 stfld !3 class PrelGHC_Z6H<!0,!1,!2,!3,!4,!5>::fld3
559 ldarg 0 ldarg 5 stfld !4 class PrelGHC_Z6H<!0,!1,!2,!3,!4,!5>::fld4
560 ldarg 0 ldarg 6 stfld !5 class PrelGHC_Z6H<!0,!1,!2,!3,!4,!5>::fld5
563 .field public !0 fld0
564 .field public !1 fld1
565 .field public !2 fld2
566 .field public !3 fld3
567 .field public !4 fld4
568 .field public !5 fld5
571 .class value sealed 'PrelGHC_Z7H' <any,any,any,any,any,any,any> extends ['mscorlib']System.ValueType {
572 .method public rtspecialname specialname instance void .ctor(!0,!1,!2,!3,!4,!5,!6) {
573 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld0
574 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld1
575 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld2
576 ldarg 0 ldarg 4 stfld !3 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld3
577 ldarg 0 ldarg 5 stfld !4 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld4
578 ldarg 0 ldarg 6 stfld !5 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld5
579 ldarg 0 ldarg 7 stfld !6 class PrelGHC_Z7H<!0,!1,!2,!3,!4,!5,!6>::fld6
582 .field public !0 fld0
583 .field public !1 fld1
584 .field public !2 fld2
585 .field public !3 fld3
586 .field public !4 fld4
587 .field public !5 fld5
588 .field public !6 fld6
591 .class value sealed 'PrelGHC_Z8H' <any,any,any,any,any,any,any,any> extends ['mscorlib']System.ValueType {
592 .method public rtspecialname specialname instance void .ctor(!0,!1,!2,!3,!4,!5,!6,!7) {
593 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld0
594 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld1
595 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld2
596 ldarg 0 ldarg 4 stfld !3 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld3
597 ldarg 0 ldarg 5 stfld !4 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld4
598 ldarg 0 ldarg 6 stfld !5 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld5
599 ldarg 0 ldarg 7 stfld !6 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld6
600 ldarg 0 ldarg 8 stfld !7 class PrelGHC_Z8H<!0,!1,!2,!3,!4,!5,!6,!7>::fld7
603 .field public !0 fld0
604 .field public !1 fld1
605 .field public !2 fld2
606 .field public !3 fld3
607 .field public !4 fld4
608 .field public !5 fld5
609 .field public !6 fld6
610 .field public !7 fld7
614 // Phew...This is needed by the optimized Haskell library....
615 // - TODO: fill in the rest!
616 .class value sealed 'PrelGHC_Z18H' <any,any,any,any,any,any,any,any,any,any,any,any,any,any,any,any,any,any> extends ['mscorlib']System.ValueType {
617 .method public rtspecialname specialname instance void .ctor(!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17) {
618 ldarg 0 ldarg 1 stfld !0 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld0
619 ldarg 0 ldarg 2 stfld !1 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld1
620 ldarg 0 ldarg 3 stfld !2 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld2
621 ldarg 0 ldarg 4 stfld !3 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld3
622 ldarg 0 ldarg 5 stfld !4 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld4
623 ldarg 0 ldarg 6 stfld !5 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld5
624 ldarg 0 ldarg 7 stfld !6 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld6
625 ldarg 0 ldarg 8 stfld !7 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld7
626 ldarg 0 ldarg 9 stfld !8 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld8
627 ldarg 0 ldarg 10 stfld !9 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld9
628 ldarg 0 ldarg 11 stfld !10 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld10
629 ldarg 0 ldarg 12 stfld !11 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld11
630 ldarg 0 ldarg 13 stfld !12 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld12
631 ldarg 0 ldarg 14 stfld !13 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld13
632 ldarg 0 ldarg 15 stfld !14 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld14
633 ldarg 0 ldarg 16 stfld !15 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld15
634 ldarg 0 ldarg 17 stfld !16 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld16
635 ldarg 0 ldarg 18 stfld !17 class PrelGHC_Z18H<!0,!1,!2,!3,!4,!5,!6,!7,!8,!9,!10,!11,!12,!13,!14,!15,!16,!17>::fld17
638 .field public !0 fld0
639 .field public !1 fld1
640 .field public !2 fld2
641 .field public !3 fld3
642 .field public !4 fld4
643 .field public !5 fld5
644 .field public !6 fld6
645 .field public !7 fld7
646 .field public !8 fld8
647 .field public !9 fld9
648 .field public !10 fld10
649 .field public !11 fld11
650 .field public !12 fld12
651 .field public !13 fld13
652 .field public !14 fld14
653 .field public !15 fld15
654 .field public !16 fld16
655 .field public !17 fld17
659 .classunion '()' extends thunk<class '()'> {