Correct spelling.
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2016 / 01 / 17.mkd
blob0e6cb7aa6fa8926a93685a42985c2598d80653a2
1 # 2016/01/17
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 ## 00:02
11 I am going to have to fix POIT because that few hundred errors appearing
12 everytime I use NARF can get bothersome and makes it harder to see if NARF
13 works. However, I can always just not call if a config is supported unless a
14 compiler is chosen.
16 ## 00:19
18 Well it was actually caused by my addition to have `foo@arch`, the supported
19 only checked if the base `foo` supported it and not any potential architecture
20 specific addition. I should also probably add a `foo@arch@extra` so that there
21 may be multiple variant support for architectures. There could be two different
22 supports by the same compiler for the given architecture, perhaps a dynamic
23 recompiler separates 32-bit and 64-bit code for example. That would actually be
24 rather handy as it could complicate things less. However the NARF dynamic
25 recompilers should be rather generic and support everything.
27 ## 00:23
29 However, the extra field would be very vendor specific and there would be no
30 way to know how it is used. One compiler could use one extra format and another
31 compiler can use it completely differently, while hairball would be unable to
32 tell the difference. So due to that, it would be best not used.
34 ## 10:17
36 The first part of the NARF dynarec will transform the Java byte code into that
37 abstract-ish program for basic optimization and assignment work. It will not
38 be SSA.
40 ## 10:23
42 One thing I do not want, is a gigantic mega-class or a hundred classes for
43 handling byte code operations. I could perhaps move them into separated classes
44 and sort them by functional group.
46 ## 11:35
48 I have this idea for the disassembler, I have instruction guessing in the
49 `ArchitectureData` class, instead of having it there I can have a sub-class
50 that can be cached which can cache the guessed instructions.
52 ## 11:42
54 Today is a leap year. This means I can get a commit and log on the 29th and it
55 will be very special.
57 ## 11:48
59 I have figured out a way to sanitize the fossil export so I can eventually it
60 run it in gitstats to give repository statistics which I have not done in
61 awhile. Two years of project time is coming up however. Lots of dedication to
62 get this far despite not having a true dynamic recompiler yet.
64 ## 11:58
66 I wonder if I should rename Foobarniux to say something such as Squirrex or
67 Squirrelex. However "Squirrelex" is a meme that I know not of, basically
68 something called "Skrillex Squirrel" which I do not know. There may be negative
69 attachments to it and such, so it would best be avoided.
71 ## 12:08
73 I could try "Squirrnix" or "Squirrnex". Google says nothing for "Squirrnix" and
74 suggests other searches. "Squir" appears to be a word, meaning to throw with
75 a jerk, to throw with edge foremost. So is this throwing something slightly
76 different or is someone throwing something with a jerk (as in person). So I
77 suppose Squirrnix will work, it is potentially easier to say and faster than
78 "Foobarniux". Two instead of four. So I suppose a rename is in order again.
80 ## 12:17
82 The new name is also one character shorter too.
84         foobarniux
85         squirrnix
87 ## 15:37
89 I wonder if I would be able to base AWT on top of JavaFX so then Swing which
90 is based on AWT could also be based on JavaFX. Supposidly Swing is on its way
91 out in the future so having AWT/Swing on JavaFX would work for compatibility
92 while potentially having a common look between all three of them.
94 ## 15:43
96 However, JavaFX does not support image format operations for what ImageIO is
97 used for.
99 ## 15:47
101 Ok, so the JavaFX source I grabbed is OpenJFX 8, Update 40. So this means that
102 there is printing, because otherwise not having printing support would be
103 rather bad.
105 ## 15:51
107 When it comes to the GUI, JavaFX might be simpler to implement because it is a
108 bit more modern, although it might be complex.
110 ## 15:56
112 The biggest part of the fourth part of the library though is the AWT/Swing
113 stuff, so figuring out a way to modularize that more will be a bit complex.
114 Also if hardware accelerated graphics come into play, then I am going to just
115 support Vulkan.
117 ## 16:38
119 I should probably fix POIT so I can run it if needed and also not have to watch
120 it fail to compile everytime NARF fails to compile.
122 ## 17:27
124 Looking at the stats for the repository. The least popular day of the week I
125 have made commits on is Thursday, then followed by Friday. I still follow a
126 sine wave pattern across the weeks. In 2015 I made 5000 commits and so far
127 for 2016 I am halfway there. Actually read that incorrectly. 2014 was almost
128 3000 commits, this year there are only 270 so far. It seems that fossil export
129 to git handles edits that have been made to commits (their author) since I no
130 longer have giant vertical jumps in a bunch of locations. I currently just have
131 one large jump.
133 ## 23:40
135 I must work on the new `ArchitectureData` stuff. Thinking about JavaFX it may
136 be possible for me to implement as a framebuffer (for the console) on top of
137 JavaFX. So there would essentially be a kind of kernel provided window manager.
138 However JavaFX is a bit large for a kernel so that might be a bad idea.
140 ## 23:58
142 JavaFX does not compile for me, most likely due to my PowerPC. So if I were to
143 add test and such my own JavaFX implementation it would have to be rather
144 independent for it to work properly. I can at least install the source so I
145 can run code stripping through it.