I wonder what would happen if I were to hexedit a class so that I could call a static initializer.


Ok, so constructors can be called regardless of whether they are initializers or not.


Magical stuff will just be rewritten by the interpreter. So if specific methods are called, they will just do something else.


Need to implement return value handling, which should be rather easy to do.


The JVMVariable class works, however it requires a bunch of suppress warnings in a bunch of methods. Right now for every value which is set, there is an object which is allocated to it. This might not fully be needed at all. Perhaps instead for local variables and fields, they are all combined into one with offset initialization. This way when there are values they are a single linear set. I can keep the array simple by instead using integer values along with wide variables and such. However for objects I cannot share this space. Right now the primitive types and object need to be handled. I really can use the variable type however to specify which kind of value is currently stored however. I can use integers completely for storage. If in the event there is an object, it can be placed in another array and used as a reference to a reference. Storing the information in arrays as a single pass would at least permit me to save on objects. The objects and all variables would be stored in a single array. Another alternative on top of that is having a single tread which is shared for an entire thread which can grow and shrink accordingly. Each fragment would become part of the call stack for example. So if I say store 32 variables per fragment I can handle that many and could extend that for sub-methods.