Entries:
Comments:
Discussions:

Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Discussions

felix9 felix9 the cat that walked by itself
  • "Optimizer as an AppStore Service" = Cloud JIT ?

    Alright, Charon aka Ma-Config showed me this patent, it has a detailed description of MDIL.

    http://www.freepatentsonline.com/y2011/0258616.html

    MDIL Instruction Set: Explaining Instruction Formats and Conventions in MDIL Code

    This section discusses the binary encoding and the semantics of MDIL instructions.

    Introduction

    What is MDIL? MDIL is a lower level of intermediate language than MSIL. It gives up on the goal of machine independence—in fact the acronym MDIL stands for Machine Dependent Intermediate Language. MDIL doesn't compete with MSIL—rather, going through MDIL is another step in the compilation pipeline going from source code in languages like C#, Visual Basic®, Managed C++ via MSIL to native code (mark of Microsoft Corporation). MDIL doesn't try to abstract properties of the target processor, but it still provides a layer of insulation against versioning of both managed code and the execution engine MDIL code is compiled for.

    MDIL is not directly executable. Instead, a binder reads the MDIL code and produces executable machine code from it. MDIL code is thus reminiscent of object files resulting from the compilation of unmanaged code which are run through a linker to produce final executable machine code. However, pseudo instructions in MDIL may go further than fixups in traditional object files—rather than just fixing up parts of instructions (like an address field), MDIL pseudo instructions may generate new native instructions which possibly differ in length from the pseudo instruction. Thus the MDIL binder is more complicated than a linker because the binder has to adjust the jumps in the resulting native code so they still jump to their intended targets. With this added complexity also comes added power—MDIL code can be robust against base types adding new fields or virtual methods, so it can be considered a solution to the "brittle base class problem".

  • "Optimizer as an AppStore Service" = Cloud JIT ?

    OK, apparently the time is still not so 'right' yet, so let me looking at it a little more.

    The word MDIL is not a new thing, we have seen it in Bartok before:

    /TargetMdil=<bool> (currently False) Target MDIL rather than native code

    /TargetMdilEHPerBB=<bool> (currently False) When targeting MDIL, emit separate EH records for each basic block

    /TargetMdilBartokRuntime=<bool> (currently False) When targeting MDIL, assume that libraries include the Bartok runtime

    /ClrMdil=<bool> (currently False) Target/consume CLR-MDIL rather than Bartok-MDIL (not complete)

    /RedhawkMdil=<bool> (currently False) Target Redhawk-MDIL rather than Bartok-MDIL (currently implies ClrMdil as well)

    /RedhawkBaseClassLibrary=<bool> (currently False) Generate MDIL for a Redhawk base class library (include well-known types table in the CTL)

    /MdilV2=<bool> (currently False) Use version 2 of the MDIL instruction encoding (automatic/required for x64)

    So there were CLR-MDIL, Bartok-MDIL and Redhawk-MDIL, and also MDIL v2, and thats many years ago.

  • How to get the name of the related DLL for a thread in a process like Process Explorer?

    The forum of channel9.msdn.com can't understand the url in msdn.microsoft.com, wtf.

  • (SOLVED) $100 bounty for code, serious offer.

    DbgHelp.dll ???

  • Metro Is Dead

    , dentaku wrote

    Code names almost never make it past RTM at Microsoft anyway so this is not a surprise.

    What was the code name of Windows 8 again ?

    http://www.microsoft.com/en-us/news/features/2011/jun11/06-01corpnews.aspx
    http://allthingsd.com/20110601/up-next-at-d9-microsoft-windows-president-steven-sinofsky-live-at-d9/

     

  • Metro Is Dead

    actually 'Immersive' was quite good I think.

  • IE10 on Win7 - Is font rendering the same ?

    we dont even know if there will be such a thingy.

  • "Optimizer as an AppStore Service" = Cloud JIT ?

    @Charles: Good to hear and thank you very much !

    It means my time window is narrowing, lets see how much I can do before the truth surfaces. Smiley

    Sofar I saw an MDILBinder.exe inside the emulation image, and apparently there will also be an mdilnigenlibrary.dll. Plus, evey managed assembly .dll or .ni.dll has a .mdil PE section, I hope these are related to CrossGen.exe.

     Also, I saw a HDRLens.mdil.xap somewhere in the vhd.

  • Joe Duffy

    , Charles wrote

    Joe will be speaking at YOW! 2012 in November

    Wow, that's cool news ! Thanks !

    And, according to Joe's latest blog post, Krzysztof Cwalina and Adam Nathan are also in the private incubation team now ? hmmm.... adding this to my notebook Devil is this a sign that the TSI and DevDiv getting back on track after the Win8 push ? Ok I'm reading too much again Tongue Out

  • "Optimizer as an AppStore Service" = Cloud JIT ?

    And, there is a crossgen.exe which is “Microsoft Common Language Runtime native cross compiler”, version 4.0.50622.1 built by: CLR_TRITON

    Usage:

    Microsoft (R) CoreCLR Native Image / MDIL Generator - Version 4.0.50622.1
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Usage: crossgen [args] <assembly name>

        /? or /help          - Display this screen
        /nologo              - Prevents displaying the logo
        @reponse.rsp         - Process command line arguments from specified response file
        /fulltrust           - Assembly will be run in a full trust domain.
        /in <file>           - Specifies input filename (optional)
        /out <file>          - Specifies output filename (optional with native images,
                               required with MDIL)
        /MissingDependenciesOK - Specifies that crossgen should attempt not to fail if a dependency is missing.
        /Trusted_Platform_Assemblies <path[;path]>
                             - List of assemblies treated as trusted platform
        /Platform_Resource_Roots <path[;path]>
                             - List of paths containing localized assembly directories
        /App_Paths <path>    - List of paths containing user-application assemblies and resources
        /App_Ni_Paths <path[;path]>
                             - List of paths containing user-application native images
                             - Must be used with /CreatePDB switch
        /Platform_Winmd_Paths
                             - List of paths containing target platform WinMDs used for emulating
                               RoResolveNamespace
     Compatability Modes
        /PreWP8App           - Set the Windows Phone 8 "Quirks" mode, namely AppDomainCompatSwitch=
                               WindowsPhone_3.7.0.0 or WindowsPhone_3.8.0.0.
     MDIL Generation Parameters
        /mdil           - Generate MDIL rather than native code. Requires presence of /out switch.
        /nomdil         - create MDIL image with no MDIL code or CTL data structures, use to force
                          fall back to JIT
        /EmbedMDIL      - Embed a previously created mdil data in IL image into native image.
        /fxmdil         - Generate framework assembly MDIL images containing minimal MDIL
     Debugging Parameters
        /CreatePDB <Dir to store PDB> [/lines [<search path for managed PDB>] ]
            When specifying /CreatePDB, the native image should be created
            first, and <assembly name> should be the path to the NI.