What is it and some traps.


Meta-compiling means the compiler compiles itself.

I liken it to doing brain surgery on yourself.
Things get interesting when you poke the bit of your brain which controls the finger you poke it with.
I guess you have to use both hands.

It is more than surgery it is a complete rebuild.

During meta-compilation there are three or even more versions of the core words.
There is the original, there is a new version compiled into a different memory space and then later the new words is move into the memory space used by the original compiler.

To do this there are also three versions of the interpreter/compiler. The original forth has to pass control to the new version because the memory it is will be overwritten. This second version must in turn pass control to a relocated version of itself in the final memory space and the memory used by the temporary compiler is reused as the rest of the system in compiled.

It is very difficult and I don't recommend you make changes to the source unless they are trivial.

It is very easy to have calls to the wrong version of a word or have a invalid pointer.

Created by eddie. Last Modification: Thursday 26 of July, 2007 20:55:23 AEST by eddie.

Main Index

Switch Theme


eddie, 15:29 AEDT, Wed 02 of Jan, 2019: database failed. Reverted to an old version.
System Administrator, 20:46 AEST, Sat 06 of Aug, 2016: There will be some downtime tomorrow for an upgrade to 15.2
eddie, 23:33 AEDT, Mon 05 of Oct, 2015: This website is now served from Brisbane - in a Binarylane cloud.
System Administrator, 16:07 AEDT, Wed 06 of Mar, 2013: More f'n spam. No more anon posting from now on.
Anonymous, 18:44 AEDT, Mon 04 of Mar, 2013: deleted

Last-Visited Pages

Online Users

12 online users