SquirrelJME/SquirrelJME

View on GitHub
assets/developer-notes/stephanie-gawroriski/2016/03/25.mkd

Summary

Maintainability
Test Coverage
# 2016/03/25

## 13:41

Well, I can do my best to potentially keep memory usage to a minimum. Some
targets I plan to support might not have enough memory for a JIT so they would
be purely statically operated (and would likely not support loading JARs). That
at least would make it so programs can still run on it, provided it is cross
compiled. Using special tricks however, I could potentially increased the
amount of memory there is at a cost of speed. For example I plan for everything
to refer to handles. Using handles I can move the used data around if it is not
locked. I could also compress the data using a simple huffman of sorts. If a
GC occurs, for maximal memory usage on low memory systems, I can free a bunch
of objects and then compress anything which is not used.

## 13:44

So for simplicity, I am going to go for parsing the exception and especially
the stack map table. It would simplify verification and it would increase
optimization because variables can disappear from the `StackMapTable`. When I
say disappear I mean that the compiler can set the local to nothing in an
exception handler to indicate that it is not used there. Then this way I do
not have to constantly store values for created operator chains for locals
which are not cared about if an exception is thrown.

## 21:16

Computer turned into a nice brick today.