dotgnu-general
[Top][All Lists]
Advanced

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

[DotGNU]Portable.NET Status (5 April 2002)


From: Rhys Weatherley
Subject: [DotGNU]Portable.NET Status (5 April 2002)
Date: Fri, 05 Apr 2002 13:49:12 +1000

It's been a while since I posted a status message.  I'll try to return
to a weekly schedule from now on.  I'll focus primarily on the changes
to pnet and treecc, and let the pnetlib developers post their own weekly

status messages (hint, hint :-) ).

I've been focusing on the engine this week.  As stated previously, I
have overhauled the internalcall system so that most of the heavy
lifting
is done automatically, generated from the metadata in mscorlib.dll.

I also finally got the Linux kernel "binfmt" registration code to work.
With the CVS version, you can now do the following as root:

    ilrun --register

This will register "ilrun" with the kernel.  Afterwards, you can type
"./hello.exe" instead of "ilrun hello.exe".  You can even rename
"hello.exe" to "hello" and put it on your PATH.  Typing "hello" will
then do the right thing.

The engine has been made Wine-aware.  If you supply it with a ".exe"
that
does not contain IL, it will hand off control to the "wine" executable.
Combined with the afore-mentioned registration code, this takes a lot of

the pain out of using Windows executables with a GNU/Linux system.
Note: ilrun must be registered with the kernel, not Wine, because Wine
does not know how to hand off IL programs to ilrun.

The image code, assembler, compiler, and linker have been modified to
include debug line information.  i.e. the "-g" option on the compiler
now outputs source lines to the final IL program.  I've still got some
work to do on the engine and ildb, but hopefully we should have a
source-level debugger soon.

Finally, I am in the process of overhauling the CVM method translation
cache.  I realised a few weeks ago that it wouldn't work with threads,
and it is also difficult to store and retrieve debug information for
use with ildb.  It should also simplify the CVM interpreter in some
places, making method calls and exceptions run faster than currently.
The file "engine/method_cache.c" contains a description of the new
caching system down the bottom.

Other random stuff:

- A fix to the linker to fix exception block linking.  Thanks
  to Gopal for finding this.
- The FAQ has been updated:
http://www.southern-storm.com.au/pnet_faq.html
- Finished off the implementation of "String.Format" in pnetlib.

Cheers,

Rhys.




reply via email to

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