Offload int[] to byte[].
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2016 / 09 / 06.mkd
blob45e9df25d40b9f35affc08b98451c1ab23f89370
1 # 2016/09/06
3 ## 06:44
5 Actually, determining if `SUPER` becomes `VIRTUAL` has to be done at link time
6 since I do not know if a class is a superclass of one.
8 ## 07:30
10 Invocation of methods will be handling cached stack values.
12 ## 08:13
14 So I have basic stack caching right now since the `this` in a constructor call
15 has been cached.
17 ## 09:02
19 Forgot about removing stack entries.
21 ## 09:08
23 And return values.
25 ## 09:56
27 So as I planned before, method linking will have a source method and a target
28 method, which are both method references along with their linkage type. This
29 would reduce the amount of space required.
31 ## 10:20
33 One thing I can do for speed is have prelinking of the JVM namespace.
35 ## 11:51
37 I actually need a bulk pop. It will be performed before a method call and
38 will return all of the cached registers that should be used. That will be used
39 to access the cache system. The reason I need to do this is because there can
40 be cached values which are additionally cached on the stack (in the case of
41 `DUP`), and as such if any previous entry refers to one that is popped it must
42 be copied before it is lost completely.
44 ## 12:29
46 I should make the build system truly determinstic along with the binary output
47 system also being deterministic. This means having no hash cookie that depends
48 on the time. One issue with that though is that the output ZIP file would have
49 the current time associated with it when I do support such things. Then the
50 build order given to by the builder can be sorted also. I would suppose I can
51 write a simple red-black tree. Although I will need a `Map` and a `Set`. I
52 can layer one upon the other. In general though a `Map` is layered on a `Set`
53 of entries.
55 ## 13:15
57 It would likely be best if the red-black tree were left leaning, since based
58 on a paper such a tree is much simpler to implement and would be more sane in
59 the long run.
61 ## 17:43
63 Actually it might be best to reverse course and have the Set implemented on
64 top of the map, although it really does not matter. Likely using the set might
65 be a bit cleaner.
67 ## 17:46
69 It is interesting that Robert Sedgewick revisited his own algorithm after so
70 many years, that is dedication.
72 ## 18:02
74 Actually it might be best to swap it and have it use the map as the base so I
75 can have `get` and `put`.
77 ## 18:21
79 Although it really does not matter at all.
81 ## 20:38
83 Tree iteration is just going right. If there is no right then go up until the
84 next right is found and then go down all the way left. This is how it is done
85 without a queue.