dotgnu-general
[Top][All Lists]
Advanced

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

[DotGNU]New internalcall system


From: Rhys Weatherley
Subject: [DotGNU]New internalcall system
Date: Mon, 01 Apr 2002 16:32:14 +1000

I spent the Easter weekend overhauling the internalcall system
in the runtime engine (pnetlib is still the same).

It is no longer necessary to manually build the "IL_METHOD"
tables and the class table in "engine/internal.c".

A new utility called "ilinternal" is used to automatically generate
the necessary function prototypes and tables from "mscorlib.dll"
(and eventually "System.dll" also).  The prototypes end up in
"engine/int_proto.h", and the tables end up in "engine/int_table.c".
When a new internalcall is added, "ilinternal" is re-run to create
the new prototypes and tables.

A big benefit of this is that it is easier to track down internalcalls
that are missing from the engine, because the engine will no longer
link unless there is at least a stub present for the internalcall.

There are now stubs in the engine for every internalcall that is
currently declared by "mscorlib.dll".  Volunteers needed to help
implement them all.  Grep for "TODO" in "engine/lib_*.c".

I'll be updating "engine/HACKING" in the next few days to describe
all of the gory details (which are now not quite so gory :-) ).

Cheers,

Rhys.




reply via email to

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