Correct spelling.
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2014 / 11 / 09.mkd
blob7de5ab5e2a686805069c119eb4890f2eb8a5330d
1 # 2014/11/09
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 ## 05:06
11 Having everything lock on ClassFile is bad for concurrency.
13 ## 08:12
15 And since this code will be in the kernel where it may be executed by tons of
16 things at once, I need better locking than the current synchronized. A
17 read/write lock will be good so that classes as needed can access the stuff,
18 then their locks can be grabbed depending on the situation.
20 ## 09:58
22 I could expand the locks rather than have global locks and use stuff for
23 individual members and such, if that is ever needed.
25 ## 15:24
27 Need a better way to specify how architecture and compilation works, the
28 current MethodCompiler is rather weak and the sorting is a bit bad. I will
29 need a sub-package containing all the good meta annotations attached to a
30 compiler so that things can get a bit easier as the generic code generators
31 could just snatch to a specific target with specific feature sets. However,
32 some CPU feature sets might have stuff like floating point support, a division
33 instruction, more registers, or a larger address space. So stuff pertaining to
34 this cannot readily be put into annotations at all.
36 ## 19:06
38 I figured out a name for the future JavaScript engine I have to write, I shall
39 call it "catpuke" since it seems only a fitting name for terrible language.
40 However, despite the name I would still make the engine awesome and well
41 coded, along with possible recompilation with the current compilation system I
42 am using right now.
44 ## 19:19
46 One idea would be something like the shebang of files being the file
47 interpreter, which executes the script engine. And speaking of script engines,
48 if there can be a JavaScript one then I am making a UNIX shell script one
49 since shell is rather nice.