Offload int[] to byte[].
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2019 / 03 / 31.mkd
blob707dfcf105c5f14c8033fb0329ed346bb77bfb54
1 # 2019/03/31
3 ## 12:25
5 So I had an idea about Squirrel Quarrel. I definitely am going to make it more
6 limited and inspired by something much simpler. I think it will work for a
7 mobile game on limited devices. So it would be more like Warcraft 2. But
8 anyway I had the idea of not having resources that you would mine so to speak.
9 The first available species would be a plant based species, but I figured that
10 they could morph gardens and such to produce resources needed to do things.
11 Basically as long as you could build the building you could get a return on
12 the resources used to build it. Of course if you made a ton of them you could
13 get really rich.
15 ## 12:49
17 That would probably make it easier on the AI and such.
19 In other parts of the code such as for the register code, I think the cache
20 barrier does not really matter for going back loops. Like what I mean is when
21 jump back is done the target is after the cache has been destroyed. So there
22 could still be future caching for the loop operations and such. Although to be
23 honest it might be best to just scan every single instruction and determine
24 which instructions have areas which areas that need to be invalidated if the
25 value register does not match. Of course this would mean undoing everything. I
26 do not exactly need to worry about code generation, the only thing that I
27 mostly would care about here is the stack states and which ones are unmatched.
28 Running all the code around and such should for the most part end in the same
29 code hopefully.
31 ## 19:15
33 Been programming all day, so do not believe I can go any further unless I push
34 myself which I will not do. I just need to implement stack shuffle operations
35 for like DUP and such. That definitely will be complex. Need to remember to
36 have to implement available register usage. For example when values are
37 swapped on the stack and only one is popped off only the position is set.
38 Right now the stuff cannot handle cases where positions are different from
39 values. But actually I should add a tool which does a population count on all
40 of the instructions in SquirrelJME. I want to do this so I can determine if it
41 is worth the effort to allow previous stack entries to point to future
42 registers and such. Although this could potentially work to make sure previous
43 values always point to later values, although this means variables will not be
44 in fixed slots anymore. Actually I do not think it will work because of double
45 or long. The assumption I make for that will break it.
47 ## 20:41
49 Writing the instruction and I hit some TODOs in the class file code. Seems
50 that annotations are not fully read! So this will be interesting.