Correct spelling.
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2016 / 04 / 16.mkd
blob24e05eb568692211d52c25c789866ae5c8e3a2d3
1 # 2016/04/16
3 ## 17:01
5 I wonder what would happen if I were to hexedit a class so that I could call
6 a static initializer.
8 ## 17:09
10 Ok, so constructors can be called regardless of whether they are
11 initializers or not.
13 ## 17:38
15 Magical stuff will just be rewritten by the interpreter. So if specific methods
16 are called, they will just do something else.
18 ## 19:47
20 Need to implement return value handling, which should be rather easy to do.
22 ## 22:04
24 The `JVMVariable` class works, however it requires a bunch of suppress warnings
25 in a bunch of methods. Right now for every value which is set, there is an
26 object which is allocated to it. This might not fully be needed at all.
27 Perhaps instead for local variables and fields, they are all combined into one
28 with offset initialization. This way when there are values they are a single
29 linear set. I can keep the array simple by instead using integer values along
30 with wide variables and such. However for objects I cannot share this space.
31 Right now the primitive types and object need to be handled. I really can use
32 the variable type however to specify which kind of value is currently stored
33 however. I can use integers completely for storage. If in the event there is
34 an object, it can be placed in another array and used as a reference to a
35 reference. Storing the information in arrays as a single pass would at least
36 permit me to save on objects. The objects and all variables would be stored in
37 a single array. Another alternative on top of that is having a single tread
38 which is shared for an entire thread which can grow and shrink accordingly.
39 Each fragment would become part of the call stack for example. So if I say
40 store 32 variables per fragment I can handle that many and could extend that
41 for sub-methods.