Jul 26, 2009 at 6:25 PM
Edited Jul 26, 2009 at 6:26 PM
July 26, 2009 - MOSA Meeting Notes:
1. Initial 0.1 Release Conditions
The group finalized the last three remaining items in the 0.1 "alpha" release:
- Fix the last 19 failed test cases, except Cpblk (rootnode)
- Add proper metadata export (grover)
- Remove non-working/non-existent optimization stages: constant propagation, constant folding, linear register allocator, peephole optimization (tgiphil)
We are targeting mid-August to complete these items.
Starting with the 0.2 release, we decided move to a 45-day sprint development cycle.
The 0.2 release will include the following:
- Document more parts and fix docs
- Refactor compiler instruction mechanisms to use a flyweight pattern and fixed size structures
- Make the actual instructions singletons
- Make emitter 1:1
- Add back ASM support
Grover will start all of these items with rootnode and tgiphil will assist.
The 0.3 release (so far) will include the following item:
- Support compiling the compiler with Mono
2. Linux Support
We have unanimous consensus to support both the Linux and OSX platforms, in addition to Windows, for development. We need a unit test framework that works on all development platforms. We discussed that Gallio is not available for Linux or OSX. Nunit, another
test framework available, works on all platforms but is reported to be unstable and does not support contract verifiers. We decided to keep an open issue for future discussion. In addition, we discussed using Nant or xbuild for the build process. We decided
to keep an open issue. We noted that Inopia wrote some initial Nant scripts. We also have a shell script.
3. Mono corlib Support
Tgiphil updated the group about a side project to patch and compile Mono corlib by replacing external method calls with managed implementations in partials classes. Source code is patched with a custom, automated tool. Few manually modifications are required
afterwards to compile corlib. Mono announced the .NET 1.x profile will be removed in the next release. This will improve the automated patching tool.
We discussed that this approach is going well and how we should begin to communicate with Mono.
4. MOSA Operating System
The group unanimous decided to expand MOSA from “just” a framework to also include the development of a full operating system. We discussed nominating names for the OS and will vote on it in the future.