Difference between revisions of "Bootstrapping"
(Added when not bootstrapping section) |
|||
Line 4: | Line 4: | ||
==Why bootstrapping?== | ==Why bootstrapping?== | ||
− | The idea is that when you do a change in the code generation (often for improving the speed) you want to get a compiler that has been compiled with the new code generation to benefit from the changes. | + | The general idea is that when you do a change in the code generation (often for improving the speed) you want to get a compiler that has been compiled with the new code generation to benefit from the changes. |
==When not bootstrapping== | ==When not bootstrapping== | ||
+ | Although you can always do a bootstrap, there are cases when it is actually not required. For example when: | ||
* Changing an header file which will impact the C generated code in a non-intruisive way, but still requires a new runtime. In that case, no bootstrap is necessary, it suffices to copy the new header and runtime to the current delivery. | * Changing an header file which will impact the C generated code in a non-intruisive way, but still requires a new runtime. In that case, no bootstrap is necessary, it suffices to copy the new header and runtime to the current delivery. | ||
* Changing a kernel library class which does not involve a special compiler knowledge (e.g. fixing a routine of STRING). | * Changing a kernel library class which does not involve a special compiler knowledge (e.g. fixing a routine of STRING). |
Revision as of 04:13, 10 April 2006
Contents
Definition
Check out the definition from wikipedia http://en.wikipedia.org/wiki/Bootstrapping to know more about bootstrapping.
Why bootstrapping?
The general idea is that when you do a change in the code generation (often for improving the speed) you want to get a compiler that has been compiled with the new code generation to benefit from the changes.
When not bootstrapping
Although you can always do a bootstrap, there are cases when it is actually not required. For example when:
- Changing an header file which will impact the C generated code in a non-intruisive way, but still requires a new runtime. In that case, no bootstrap is necessary, it suffices to copy the new header and runtime to the current delivery.
- Changing a kernel library class which does not involve a special compiler knowledge (e.g. fixing a routine of STRING).
Bootstrapping the compiler
Initial compiler
To start the boostrap process you have to start from a working compiler, this is usually one of the released version. Let's call this compiler ec_original.