Rewrote checkcast(); it's only missing the checks for casting
/from/ an array, which I'll add in the near future. Added an
interface_list pointer to java_class because checkcast() needs to be able
to check it; probably included some other small and sundry bug-fixes
en-route.
Anyway, I'm now looking at tackling java throws. Throws generated
by the java code itself should be relatively easy to handle. Throws
generated by the VM in runOpCode() should be somewhat more difficult, but
nonetheless straightforward. The problem will be in handling exceptions
generated by functions called from w/in runOpcode() and their sundry and
various sub-functions. I am loathe to put the exception is some global
area and put a check in at the end of runOpcode(); it's not terribly
elegant and will die a horribly screaming death if we ever have multiple
native processes. JM, I know you've got the hood open, so to speak, right
now? Do you, or does anyone else, have any suggestions, aside from rather
gruntingly brute-force "rewrite everything to return an exception pointer"
approach?
Note that access to a classloader might be problematic as well --
the JVM needs to generate java_objects to point to for these exceptions,
though this might be done by some other code than the originator at some
later point in time. [A global 'enviroment' table with the
JVM-generatable exception classes in it? (which each carry their own
classloader)]
-_Quinn
_______________________________________________
Kernel maillist - [EMAIL PROTECTED]
http://jos.org/mailman/listinfo/kernel