Indentations break the feed.
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2016 / 02 / 04.mkd
blob16b3a9fbed0c7aeb969457697f5677feeb278b1e
1 # 2016/02/04
3 ***DISCLAIMER***: _These notes are from the defunct k8 project which_
4 _precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26!_
5 _The k8 project was effectively a Java SE 8 operating system and as such_
6 _all of the notes are in the context of that scope. That project is no_
7 _longer my goal as SquirrelJME is the spiritual successor to it._
9 ## 14:07
11 I want a nice way to handle instructions during making them visible. Something
12 that will be done in a safe manner.
14 ## 17:38
16 Suppose today I am taking a break and attempting to clean my room instead.
18 ## 19:53
20 Here is an idea for the bootstrap environment. Instead of having byte code
21 which is of course fast and efficient, the bootstrap can just be quite
22 literally a source based interpreter of Java which performs no actual
23 compilation into byte code. There could however be a kind of intermediate
24 code but not exactly as byte code. It could be used with my own implementation
25 of the class library.
27 ## 19:58
29 The result would then be a kind of compile on demand sort of with source code.
30 If it understands Java 8 source code it can then act as a Java 8 virtual
31 machine of sorts. There would however be a speed penalty though.
33 ## 20:00
35 It would be interesting, however the most likely choice that would be more
36 efficient would be to write an actual compiler and virtual machine. However for
37 a bootstrap environment which might be run-only (with no compiler part of it)
38 , well maybe not. In either case, the bootstrap virtual machine could handle
39 Java source code to compile the compiler (written in Java) and then use that
40 compiled code to run the bootstrap to build the OS. However, really the only
41 thing that would need a bootstrap is the VM and the compiler. A standalone
42 bootstrapped compiler would compile the code that is required for running. The
43 VM would run class files as normal Java does. So essentially they would be one
44 bit because the bootstrap VM will need a compiler anyway. Then my own compiler
45 could for example target C instead of Java byte code so that Squirrnix can be
46 compiled and built without needing a Java run-time or compiler at all, it
47 would just need a C compiler which would have to be somewhere. So you would
48 need either a C compiler or a Java run-time with a compiler.
50 ## 20:19
52 I believe I need to make the `ProgramInstruction` a bit simpler by splitting
53 off the field stuff so that it is independent from it.