SquirrelJME/SquirrelJME

View on GitHub
assets/developer-notes/stephanie-gawroriski/2015/02/13.mkd

Summary

Maintainability
Test Coverage
# 2015/02/13

***DISCLAIMER***: _These notes are from the defunct k8 project which_
_precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26!_
_The k8 project was effectively a Java SE 8 operating system and as such_
_all of the notes are in the context of that scope. That project is no_
_longer my goal as SquirrelJME is the spiritual successor to it._

## 10:50

Today is a very lucky day!

## 14:29

In the future when ArrayDeque is written I can have fast code by using two
arrays, one that gets front sided elements and the other that gets backsided
elements. That is one array is in reverse order, and it can be grown as needed
by the code. Although a circular array can work just as good and can be grown
when needed. A single circular array would minimize allocation requirements.
However, the circular array would have issues when adding elements to the
front because if it collides with the end it would then need to move all the
elements down. So the front facing pivot must be able to go into another array
as needed to increase speed.

## 14:48

Some people who use condition on byte code complained about StackMapTable, but
from what I can see StackMapTable simplifies things and makes it more strict.
More strict in the way that it has to match and that jump backs will require
jump backs to match the stack state when the target was just executed. So the
StackMapTable forces the compiled code to be simpler, because otherwise
veryifying some code may never end if it changes the state all the time.

## 15:27

Found some issues on missing information that is needed in the JavaCodeBank to
correctly decode Java byte code.