14:05
So looking at the synchronized uncounting issue at least when it comes to exception handlers. I had a thought in my mind but it went away for a moment. Trying to get it back, but I believe the thought I had was related to the variables possibly being flagged as countable or not-countable incorrectly within an exception handler.
14:32
So the error happens in the parent method on the call stack when it tries to
uncount the exception when it was thrown in the sub-method. So either it is
uncounted to much in the child method or in the parent method. When it checks
the exception after an INVOKEVIRTUAL
it does an un-count on the exception
it seems. I think that is not valid?
14:38
So the exceptions are placed in the exception register and those are just copied in the exception handler fragments.
14:44
Actually, this may just be related to finally blocks because there will be a
finally
done implicitly if an exception is thrown within a synchronized
block.
14:55
Okay so, loadClass
threw an exception... So I think what I actually need is
to record the slices of a popped call, or at least the last one so I know
what that one did.