diff options
Diffstat (limited to 'docs/bootstrap-flow.md')
-rw-r--r-- | docs/bootstrap-flow.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/docs/bootstrap-flow.md b/docs/bootstrap-flow.md new file mode 100644 index 0000000..96d18e6 --- /dev/null +++ b/docs/bootstrap-flow.md | |||
@@ -0,0 +1,45 @@ | |||
1 | # meta-java OpenJDK bootstrap workflow # | ||
2 | |||
3 | ## OpenJDK-14 ## | ||
4 | |||
5 | * TODO | ||
6 | |||
7 | ## OpenJDK-7 and OpenJDK-8 ## | ||
8 | |||
9 | * first jikes-native is compiled | ||
10 | * a Java 1.4-capable compiler that does not need a runtime or | ||
11 | (strictly) a class library to work | ||
12 | * jikes-initial-native is a wrapper around it | ||
13 | |||
14 | * with this compiler we compile the initial (preliminary) | ||
15 | runtime (package virtual/java-initial-native) | ||
16 | * virtual/java-initial-native can be: cacao-initial-native (0.98) | ||
17 | or jamvm-initial-native (1.4.5) | ||
18 | * cacao is preferred, as it has a JIT, but doesn't compile | ||
19 | on all hosts | ||
20 | * cacao-initial-native and jamvm-initial-native both need | ||
21 | classpath-initial-native (0.93) and jikes-initial-native | ||
22 | |||
23 | * now libecj-bootstrap-native is built | ||
24 | * this needs jikes-initial-native virtual/java-initial-native | ||
25 | * now ecj-initial is built | ||
26 | * this needs libecj-bootstrap-native and | ||
27 | virtual/java-initial-native during runtime | ||
28 | * at that point we have a 1.5-capable compiler (ecj-initial) | ||
29 | running on a Java 1.4 compatible VM (cacao-inital-native | ||
30 | or jamvm-initial-native) | ||
31 | |||
32 | * with this compiler (ecj-initial), we compile the final runtime | ||
33 | and compiler (virtual/java-native and virtual/javac-native) | ||
34 | * virtual/java-native can be: cacao-native (1.6.1) or | ||
35 | jamvm-native (2.0.0~pre) | ||
36 | * cacao vs jamvm as above | ||
37 | * cacao-native and jamvm-native both need | ||
38 | classpath-initial-native (0.93) and classpath-native (0.99) | ||
39 | and ecj-initial-native and virtual/java-initial-native | ||
40 | * virtual/javac-native can be: ecj-bootstrap-native | ||
41 | * ecj-bootstrap-native needs libecj-bootstrap-native | ||
42 | and virtual/java-native | ||
43 | * at that point we have a 1.5-capable compiler (ecj-bootstrap-native) | ||
44 | running on a Java 1.5 compatible VN (cacao-native or | ||
45 | jamvm-native) | ||