X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FilxGen%2FEntry.ilx;h=674c83141a49aa88b669da90fc62ce8f44dc2933;hb=07c456df1f21bb2291a18ada0e2d749f1ea52c17;hp=fe8b618934e121ebee437c0f63fe4f4c4656b84d;hpb=81027250abf0099f1dbaef1ddb8534547268ad41;p=ghc-hetmet.git diff --git a/ghc/compiler/ilxGen/Entry.ilx b/ghc/compiler/ilxGen/Entry.ilx index fe8b618..674c831 100644 --- a/ghc/compiler/ilxGen/Entry.ilx +++ b/ghc/compiler/ilxGen/Entry.ilx @@ -1,18 +1,20 @@ .assembly test { } +.assembly extern 'mscorlib' { } +.assembly extern ilx 'std' { } // ENTRYPOINT .class MainMain { .method public static void Main(class [mscorlib]System.String[]) { .entrypoint - ldstr "LOG: loading main value\n" call void [mscorlib]System.Console::WriteLine(class [mscorlib]System.String) - ldsfld (func () --> class [ilx std]'()') class Main::'Main_main' + ldstr "LOG: *** loading main value" call void [mscorlib]System.Console::WriteLine(class [mscorlib]System.String) + ldsfld thunk<(func ( /* unit skipped */ ) --> class [std]PrelBase_Z0T)> class Main::'Main_main' - ldstr "LOG: evaluating main value\n" + ldstr "LOG: *** evaluating main value" call void [mscorlib]System.Console::WriteLine(class [mscorlib]System.String) - callfunc --> (func () --> class [ilx std]PrelBase_Z0T) - ldstr "LOG: calling main value\n" + callfunc () --> (func ( /* unit skipped */ ) --> class [std]PrelBase_Z0T) + ldstr "LOG: *** calling main value" call void [mscorlib]System.Console::WriteLine(class [mscorlib]System.String) - ldvoid - callfunc (void) --> class [ilx std]PrelBase_Z0T + // ldunit + callfunc ( /* unit skipped */ ) --> class [std]PrelBase_Z0T pop @@ -22,31 +24,25 @@ // guarantee that finalizers will be run. WE DON'T GUARANTEE TO RUN ANY // OTHER FINALIZERS... - ldstr "LOG: calling critical finalizers manually in main()\n" + ldstr "LOG: ***calling critical finalizers manually in main()" call void [mscorlib]System.Console::WriteLine(class [mscorlib]System.String) -ldsfld (func (thunk>) --> (func () --> class [ilx std]PrelBase_Z0T)) [ilx std]'PrelHandle'::'PrelHandle_stdHandleFinalizzer' -ldsfld thunk> [ilx std]'PrelHandle'::'PrelHandle_stdin' - callfunc (thunk>) --> (func () --> class [ilx std]PrelBase_Z0T) - callfunc --> (func () --> class [ilx std]PrelBase_Z0T) - ldvoid - callfunc (void) --> class [ilx std]PrelBase_Z0T +ldsfld thunk<(func (thunk>) --> (func (/* unit skipped */) --> class [std]PrelBase_Z0T))> [std]'PrelHandle'::'PrelHandle_stdHandleFinalizzer' +ldsfld thunk> [std]'PrelHandle'::'PrelHandle_stdin' + callfunc () (thunk>) --> (func ( /* unit skipped */ ) --> class [std]PrelBase_Z0T) + callfunc ( /* unit skipped */ ) --> class [std]PrelBase_Z0T pop -ldsfld (func (thunk>) --> (func () --> class [ilx std]PrelBase_Z0T)) [ilx std]'PrelHandle'::'PrelHandle_stdHandleFinalizzer' -ldsfld thunk> [ilx std]'PrelHandle'::'PrelHandle_stdout' - callfunc (thunk>) --> (func () --> class [ilx std]PrelBase_Z0T) - callfunc --> (func () --> class [ilx std]PrelBase_Z0T) - ldvoid - callfunc (void) --> class [ilx std]PrelBase_Z0T +ldsfld thunk<(func (thunk>) --> (func (/* unit skipped */) --> class [std]PrelBase_Z0T))> [std]'PrelHandle'::'PrelHandle_stdHandleFinalizzer' +ldsfld thunk> [std]'PrelHandle'::'PrelHandle_stdout' + callfunc () (thunk>) --> (func ( /* unit skipped */ ) --> class [std]PrelBase_Z0T) + callfunc ( /* unit skipped */ ) --> class [std]PrelBase_Z0T pop -ldsfld (func (thunk>) --> (func () --> class [ilx std]PrelBase_Z0T)) [ilx std]'PrelHandle'::'PrelHandle_stdHandleFinalizzer' -ldsfld thunk> [ilx std]'PrelHandle'::'PrelHandle_stderr' - callfunc (thunk>) --> (func () --> class [ilx std]PrelBase_Z0T) - callfunc --> (func () --> class [ilx std]PrelBase_Z0T) - ldvoid - callfunc (void) --> class [ilx std]PrelBase_Z0T +ldsfld thunk<(func (thunk>) --> (func (/* unit skipped */) --> class [std]PrelBase_Z0T))> [std]'PrelHandle'::'PrelHandle_stdHandleFinalizzer' +ldsfld thunk> [std]'PrelHandle'::'PrelHandle_stderr' + callfunc () (thunk>) --> (func ( /* unit skipped */ ) --> class [std]PrelBase_Z0T) + callfunc ( /* unit skipped */ ) --> class [std]PrelBase_Z0T pop ldstr "LOG: exit main()\n"