Going to split off part of the constant pool stuff and make those into other classes so it is a bit cleaner.
Ok so today:
- Refactor and split about the constant pool entry stuff.
- Move any gigantic case switch stuff out from
CPOpand similar (such as argument get and a few other things) into another helper class.
Also the other portions of code which directly read arguments can just instead read the argument table. This would be cleaner.
With arguments, things should be easier to implement.
Which the type determination and the arguments, the operation handler for
is much shorter. It was previously 32 lines, now it is just 5. Well I can just
get it down to a single line statement.
Interesting, this method has only stack entries and no locals.
I can commonize the pushing and popping of operations and reduce much duplicated code between a number of used operation.
This multi-functional method should be able to shave about 500 lines or so.
This is definitely a much cleaner and more uniform way to perform these operations.
All of the exceptions that the VM can throw need to have frames.
And now when an exception is caught I can determine where in the virtual machine internally it was thrown so to speak.