Remove Twitter links.
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2017 / 01 / 30.mkd
blobde2cb969a42e8ae843eb41f675407592788cd7cc
1 # 2017/01/30
3 ## 15:27
5 Looking at the JIT, I pretty much have to completely strip it down into
6 nothing because most of the classes in there, would be removed anyway. As
7 such, the classes would be made simplified. Really the only thing to keep
8 is the exceptions and the stack caching handler along with some other
9 operations. The JIT itself would be given the entire class layout, and
10 every system would use a similar space to represent the executable.
12 ## 16:39
14 Perhaps for the auto-interpreter, it could either integrate with the JIT or it
15 can become an emulator of sorts for a given target and emulate some hardware.
16 However that would require a working JIT and such. But that is a good
17 potential idea in the future, have the interpreter now be an intermediary that
18 will in the future turn into the emulator that uses the Java SE Host or
19 potentially Java ME. I suppose for simplicity that I can model the instruction
20 format that the interpreter executes and have it use MIPS or an existing
21 instruction set. This would allow me to write the JIT as it would be a normal
22 system. Then whatever happens in the machine code will change what happens
23 on the interpreted system. So this way, methods are just slices of some
24 architecture which is then executed. Then once I have basic Hello World stuff,
25 I can then work on a primitive systems emulator which I can use to run
26 existing programs on (in a limited fashion) along with allowing a testable and
27 somewhat hosted SquirrelJME environment.
29 ## 18:34
31 Yes, this can work. Once an `ExecutableClass` I can then serialize it to an
32 output stream for cache purposes. For most systems there will be just a single
33 class that can hold machine code and other class details.
35 ## 18:37
37 I learned that Java ME 8 does not have `StackOverflowException`, so this
38 means if this occurs it will have to be something else.