[Mono-devel-list] Re:Mono 0.24 has been released.

code at 263.net code at 263.net
Wed May 7 00:32:08 EDT 2003


Congratulations!

In the JIT section of the release notes, I notice that the future work will mainly be improving the performance.  I'd like to know is there any plan to port the JIT to other platforms?

Thanks


----- Original Message -----
From: "Miguel de Icaza" <miguel at ximian.com>
To: <mono-devel-list at ximian.com>
Sent: 2003-05-07 19:40:27
Subject: [Mono-devel-list] Mono 0.24 has been released.






>Mono 0.24 has been released
>
>        Hello everyone,
>        
>        A new release of the Mono runtime and SDK is available for UNIX
>        and Windows. Mono 0.24 represents a significant advance in many
>        areas of the Mono platform, including:
>        
>        
>        
>        1. Features
>        
>              * New code generation engine: The new code generation
>                engine is the core of the Mono JIT, and now also
>                features a code pre-compiler. 
>              * Runtime: Mono now provides the GC system with object
>                maps, providing better collection and improving
>                applications speed. Also debugging information works
>                across application domains. 
>              * ASP.NET: WebForms parser has been rewritten. 
>              * Remoting: Plenty of updates to the remoting
>                infrastructure. 
>              * C# compiler: Various speed improvements, plus support
>                for C# 2.0 iterators. 
>              * XML: XML deserialization, RELAX NG validating XmlReader,
>                improved XmlNodeReader, XmlTextReader non-UTF8 stream
>                support by default, plus a primitive DTD parser. 
>              * Windows.Forms: Lots of updates, and System.Drawing
>                progress. 
>              * Globalization: Data files for supporting the various
>                cultures are in, Chinese encoding support. 
>              * New tools: Binding generator for C programs, security
>                tools, mono-xsd. 
>              * Ongoing development: ILASM, JScript, Soap,
>                XmlSerialization. 
>              * Mono Basic: Many improvements. 
>              * Security: Uses new BigInteger, many new classes. 
>              * 152 bugs closed, 3397 individual CVS commits. 
>                
>        
>        
>        2. Availability
>        
>        Binaries for various platforms is available from our web site
>        from the download section: 
>        
>                http://www.go-mono.com/download.html
>                
>        Source code for Mono, MCS, and XSP is also available from our
>        web site
>        
>        
>              * MCS package (Class Libraries, C# and VB.NET compiler and
>                managed tools):
>                http://www.go-mono.com/archive/mcs-0.24.tar.gz
>              * Mono package (Runtime engine, JIT compiler, pre-compiled
>                compiler and class libraries ):
>                http://www.go-mono.com/archive/mono-0.24.tar.gz
>              * XSP package (XSP test web server for ASP.NET webforms):
>                http://www.go-mono.com/archive/xsp-0.4.tar.gz
>              * iPAQ packages are available from:
>                mono::handhelds
>                
>        We are alsoshipping Gtk# 0.9 packages and MonoDoc 0.4 packages
>        for Red Hat 9.0 and Red Hat 8.0.
>        
>        
>        
>        3. Contributors
>        
>        This release of Mono is brought to you by (in reverse order):
>        
>        Zoltan Varga, Vlad Kaluzhny, Ville Palo, Tim Haynes, Tim
>        Coleman, Sergey Chaban, Sebastien Pouliot, Rodrigo Moya, Reggie
>        Burnett, Ravi Pratap, Rafael Teixeira, Piers Haken, Petr
>        Danecek, Per Arneng, Pedro Martinez, Patrik Torstensson, Paolo
>        Molaro, Nick Drochak, Mike Kestner, Miguel de Icaza, Martin
>        Willemoes Hansen, Martin Baulig, Mark Crichton, Marco Ridoni,
>        Malte Hildingson, Lluis Sanchez, Lee Mallabone, Juli Mallett,
>        Jonathan Pryor, Johannes Roith, Joel Basson, Jean-Marc Andre,
>        Jaime Anguiano, Jackson Harper, Hector E. Gomez Morales, Gonzalo
>        Paniagua, Gaurav Vaish, Eduardo Garcia, Duncan Mak, Dietmar
>        Maurer, Dick Porter, Dennis Hayes, Daniel Morgan, Daniel Lopez,
>        Christopher Bockner, Charles Iliya Krempeaux, Cesar Octavio
>        Lopez Nataren, Carlos Alberto Cortes, Ben Maurer, Atsushi
>        Enomoto, Alp Toker, Alexandre Pigolkine, Aleksey Ryabchuk,
>        Aleksey Demakov, Alejandro Sanchez, and Alan Tam.
>        
>        
>        
>        4. Detailed Features
>        
>        
>        4.1 Runtime
>        
>        Zoltan changed the way objects are allocated: heap objects are
>        allocated with GC descriptors which describe which fields are
>        holding object references and which do not. This speeds up
>        collections and decreases memory usage since fewer objects are
>        mistakenly retained.
>        
>        The synchronized attribute is now supported.
>        
>        
>        
>        4.2 ASP.NET
>        
>        Gonzalo rewrote most of our ASP.NET WebForms parser. 
>        
>        The ASP.NET code generator uses CodeDom now so, ideally, once we
>        have mbas working and someone implements an ICodeCompiler and a
>        CodeDomProvider for VB.NET we will support VB.NET in aspx pages.
>        
>        ControlBuilders are supported now. When a
>        ControlBuilderAttribute is applied to a control it can modify
>        the parsing behaviour beyond the posibilities offered by
>        ParseChildrenAttribute (enable/disable white space literals,
>        modify children as they are added, including changing their Type
>        and more). This is required to run some of the sample
>        applications released at http://www.asp.net.
>        
>        Some improvements in error pages for parsing and compilation. We
>        even mark with red color generated source lines (MS doesn't :).
>        
>        Added support for including files. This can save some typing
>        when headers, footers or whatever are reused in more than one
>        page/control.
>        
>        
>        
>        4.3 C# Compiler
>        
>        Many bugs have been fixed, and various speed improvements added.
>        Zoltan added a change to reduce memory consumption, which
>        reduced the compilation times. A cache that was underutilized
>        has been fully activated, and the total speedup is 40%. Now MCS
>        bootstraps itself in 6.3 seconds on a 1.8GHz Mobile P4.
>        
>        Iterators in classes are supported now. This is a feature from
>        the upcoming C# 2.0 release, it has not been wildly tested. To
>        use iterators, pass the -v2 flag to the compiler. Notice that
>        code that uses iterators will not compile with the current
>        Microsoft compiler.
>        
>        Iterators were prototyped for C# by Todd Proebsting, and they
>        vastly simplify the implementation of enumerators in classes.
>        Instead of being a tedious task, the results is that you can not
>        wait to add enumerable support to the simplest of your classes.
>        
>        A few samples are included in mcs/tests/2*.cs, but you can also
>        read the article at MSDN: C# Programming Language Future
>        Features. 
>        
>        4.4 Remoting
>        
>        Lluis continues to improve the Remoting infrastructure:
>        
>        Implemented support for Contexts and ContextBoundObjects,
>        including all context message sinks.
>        
>        Support for interfaces and abstract classes in proxies.
>        
>        The TCP channel and the binary formatter are now compatible with
>        MS.NET.
>        
>        OneWay methods are now working.
>        
>        
>        
>        4.5 XML
>        
>        The first implementation of XML deserialization has been done.
>        It's not complete but XmlSerializer has now become somewhat
>        symmetric.
>        
>        Mono now ships Atsushi's RELAX NG validating XmlReader for XML
>        (namespace: Commons.Xml.Relaxng). This is also the first XML
>        validation engine for Mono.
>        
>        Dogfooding-wise: We are using a Relax-NG schema and a simple
>        program to validate our documentation now.
>        
>        XmlTextReader has many improvements. XmlTextReader now can parse
>        a supplied inline or external DTD (only infiles for now). It is
>        also capable of auto encoding detection for its input.
>        
>        XmlNodeReader has also improved to be compatible with
>        XmlTextReader.
>        
>        Alan added support for passing arguments to XSLT transformations
>        
>        
>        
>        4.6 Windows.Forms
>        
>        So far, Windows.Forms development has continued by using a
>        special version of the runtime that is linked to Wine. This is
>        about to change. Vlad from OpenLink has modified Wine to be used
>        as a library, and this new version of Wine has no interaction
>        problems with the Mono GC and works without making changes to
>        the Mono runtime. So the same runtime can be used to run any
>        kind of applications.
>        
>        Alexandre and Aleksey have been very busy at work with
>        Windows.Forms, and have done a lot of progress here. 
>        
>        Improvements to Control/Form architecture: Layout management,
>        MDI implementation, menu merging, modal forms, user paint.
>        
>        Implementation added to controls: Button, ComboBox,
>        CheckedListBox, DomainUpDown, Form, GroupBox, NumericUpDown,
>        Label, ListBox, Panel, ProgressBar, RadioButton, StatusBar,
>        StatusBarPanel, TabControl, TabPage, TextBox, TrackBar and
>        ToolTip. 
>        
>        4.7 Globalization
>        
>        Alan added support for two Chinese encodings: Big5 and GB2312.
>        
>        Duncan has been working on getting our CultureInfo completed.
>        Currently we have checked in stubs for various XML files that
>        describe the various characteristics of the CultureInfo.
>        Currently they all contain the information for English, so we
>        will need people to help provide translations and localization
>        to these files.
>        
>        
>        
>        4.8 New Code Generation Engine
>        
>        This release contains the new code generation engine that
>        Dietmar and Paolo have been working on for the past seven
>        months. This new code generator can be used both as a
>        just-in-time compiler or a CIL pre-compiler.
>        
>        The new engine had a number of goals:
>        
>        
>              * Simplify porting the JIT engine. 
>              * Provide a solid framework for implementing advanced
>                optimizations in the JIT engine. 
>              * Support ahead-of-time compilation (precompilation). 
>                
>        The new code generator replaces `mono' as our JIT engine. The
>        old JIT engine is still distributed as `oldmono', but will be
>        phased out.
>        
>        In JIT mode, you have to run it like this: 
>        
>        	mono program.exe
>        
>        
>        In pre-compiler mode you first need to pre-compile your
>        assembly. You do that by passing the --aot flag:
>        
>        
>        
>        	mono --aot program.exe
>        	mono --aot mylibrary.dll
>        
>        
>        That will generate program.exe.so and mylibrary.dll.so
>        respectively. These contain the precompiled code. Then to
>        execute your precompiled binary, invoke the compiler like this:
>        
>        
>        
>        	mono program.exe
>        
>        
>        The runtime will automatically pick up the precompiled binaries
>        as long as they are in the same directory as the original
>        assembly.
>        
>        We are very happy with the new framework, because it is very
>        modular, and it allows us to cleanly replace in the future
>        components of it, if we choose to, or revamp components of it.
>        The new code generator has also an SSA representation that is
>        the foundation for plenty of optimizations today and in the
>        future.
>        
>        The following optimizations are implemented:
>        
>        
>                Branch optimizations, conditional moves, constant
>                folding, constant propagation, copy propagation, dead
>                code elimination, emit per-domain code, fast x86 FP
>                compares, inline method calls, instruction scheduling,
>                intrinsic method implementations, linear scan global reg
>                allocation, loop related optimizations, peephole
>                postpass, tail recursion and tail calls 
>                
>        An whitepaper on the internals of the new compilation engine is
>        available on mono/mini/mini-doc.txt, if you are interested in
>        understanding the new engine, this document is a good starting
>        point.
>        
>        The job of doing a good JIT requires a tradeoff between
>        compilation speed and code generation quality. Some are
>        computing-time expensive and some are cheap. In JIT mode, we
>        only turn on a few optimizations, but you might want to turn
>        them all on when doing pre-compilations (-O=all, see the mono ma
>        page for details).
>        
>        The new JIT engine is closer to the spec so plenty of checks and
>        tests that were not implemented before, are implemented now.
>        
>        We can now focus on tuning the performance of the JIT engine
>        
>        
>        
>        4.9 New Tools
>        
>        cilc: Alp Toker has provided us with cilc, a tool that can
>        generate C bindings to any assembly. This tool is useful if you
>        want to reuse managed code from your C application. This is
>        typically used by those who embed the Mono runtime into their
>        existing C code.
>        
>        This is of particular interest to Gnome developers, as they can
>        now easily import new widgets written in C# into their
>        applications.
>        
>        monoxsd: Duncan has started work on our XSD replacement.
>        Currently its limited to generating an XML schema out of an
>        assembly.
>        
>        Security tools: Sebastien has added a few tools to use the
>        cryptographic support libraries in Mono, like the certificate
>        creation tool. You can see a screenshot of the Certificate
>        viewer 
>        
>        4.10 Ongoing Projects
>        
>        Jackson continues work on our IL assembler. The IL assembler has
>        most of the high-level features now, and 50% of the instruction
>        set is handled. The next release should have a complete version.
>        
>        Cesar continues work on our JScript compiler. All of the public
>        class contracts in the Microsoft.JScript namespace are there,
>        and the parser is mostly done. Work is underway to emit dynamic
>        assemblies.
>        
>        Work has begun on making the SOAP client support in Mono
>        functional. To this end, we are starting to re-architect the
>        XmlSerialization infrastructure, which had not been maintained
>        for a while. We will be devoting significant effort in getting
>        the Web services client functional now.
>        
>        
>        
>        4.11 Mono Basic
>        
>        Marco Ridoni has been making a lot of progress in Mono Basic.
>        Also Rafael has added preprocessor support to it. Here is a full
>        list of new features: 
>        
>                Compound operators added 
>              * Member access now work correctly 
>              * A lot of array fixes/improvements 
>              * LateIndexGet/Set calls are generated correctly 
>              * Overloading in constructors fixed 
>              * Array access when the array is a parameter fixed 
>              * Invocation resolution improved 
>              * Added readonly modifier for properties 
>                
>        
>        
>        4.12 Security
>        
>        Sebastien has continued improving the security classes. Not only
>        we have convinced him to use Linux, but he has also wrote his
>        first two .NET GUI applications: one SWT, one Gtk#.
>        
>        The RSA and DSA code are faster, and also the whole security
>        system uses Ben's updated BigInteger code. The new BigInteger
>        code is a lot faster.
>        
>        
>        
>        Special Thanks
>        
>        Special thanks go to Duncan Mak for helping putting together
>        this release.
>
>        -- 
>        Miguel de Icaza <miguel at ximian.com>
>






==========================
263µç×ÓÓʼþ£­ÐÅÀµÓÊ×Ôרҵ


More information about the Mono-devel-list mailing list