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.
I can probably have the code which finds the push pop stuff be able to handle cases where it varies (such as fields and method calls).
Determining which push pop set to use will be handled better this time as I will take advantage of the giant enumeration. This means that synthetic entries in the push pop table will now fail instead of silently passing through for later devirtualization.
The code here is much more concise compared to the older code.
I would have to say that my new code is much much cleaner than before. The old code was a complete mess that was glued and taped together.