dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]Portable.NET 0.2.0 released


From: Rhys Weatherley
Subject: [DotGNU]Portable.NET 0.2.0 released
Date: Sat, 20 Oct 2001 13:04:46 +1000

Portable.NET 0.2.0 and pnetlib 0.0.4 have been released:

Web Page: http://www.southern-storm.com.au/portable_net.html
Download: http://www.southern-storm.com.au/download/pnet-0.2.0.tar.gz
Library:  http://www.southern-storm.com.au/download/pnetlib-0.0.4.tar.gz

The major change in this release is to the runtime engine.  It has
been completely rewritten from the ground up, using a new design
that I devised a couple of months ago, and which I've been working
on in "secret".

Instead of interpreting the IL bytecode directly, I first convert it
into different bytecode for a more efficient virtual machine.  This
virtual machine is called the "Converted Virtual Machine", or CVM.
Some DotGNU folks also know it as "Curragundi", which was my code
name for it during development.

The engine can now run "Hello World", although that is about the only
thing that it can run right now.  I'm working on implementing the
remainder of the instructions so that other examples can be run too.
To run "Hello World", cd to the "samples" directory and execute
the following:

 ../engine/ilrun hello.exe

Now that the runtime engine is starting to get going, I could use
some help on the C# library, pnetlib, to round out the functionality
as quickly as possible.  If you want to help, then pick any class
or namespace that I haven't implemented yet and send me the changes.

The complete NEWS entries are appended.

Cheers,

Rhys.

Portable.NET 0.2.0 (20 October 2001)

* Better code generation for "return" statements.
* Semantic analysis and code generation for "try", "lock", and
  "throw" statements.
* Code generation for "foreach" statements.
* Continue the implementation of the bytecoder verifier.
  Most instructions are handled now.
* Fix the instruction format for the "unaligned" instruction.
* Centralise the recognition and handling of value types within "image".

* Improve system type resolution within "image".
* Add two special images: system and synthetic, which are assigned
  special roles within the runtime engine.
* Implement the "Converted Virtual Machine", or CVM, whose bytecode is
  more efficient to execute than raw IL.
* Implement the CVM coder, which converts IL into CVM bytecode.
* Remove "interpreter.c" which is now obsolete.
* Java-style type and method lookup routines, which allow strings like
  "(oSystem.String;i)V" to be used as signatures.
* New format for call frames, method user data, and the thread state.
* A helper library for hash tables, to support better code reuse.
* Rewrite the class lookup routines to use the new-style hash tables.
* System type lookup in the engine always uses the special "system"
  image, to prevent applications redirecting the builtin types.
* Simple object allocation.
* Implement the "internalcall" methods for "Object", "String", "Array",
  "Decimal", and "Stdio".
* Hook "ilrun.c" through to the engine so that it is now possible
  to run simple "Hello World" style examples.
* Perform dynamic linking for member references.
* Layout for static fields.

pnetlib 0.0.4 (20 October 2001)

* Rewrote the "System.Collections" classes.
* A few more classes in "System", particularly array and string related.

* Implement enough of "System.Console" and "System.IO" to get
  "Hello World" style print examples working.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]