hi, I've back ported some stuff from the JanosVM to do run time access/link checking on the byte code, some verification related stuff, and test cases for all of the above. Hopefully, it will work fine, I've tested it with a fair amount of local stuff. However, you might get an IllegalAccessError in weird places, if so, just send email and I'll get to fixing it.
The run time checking stuff is used to keep people from accessing private fields/methods/etc... Note that this is different from verification since the classes aren't necessarily loaded and at that time. These checks are done when a method actually does a dereference. The test cases for this stuff is in FieldErrors.java and MethodErrors.java, which use the classes in the compile_time and run_time subdirectories of test/regression. These subdirectories contain the same sets of classes with different implementations for use at "compile time" and "run time". That way we can get past the compiler checking for these problems and force the VM to do it. The verification stuff is whatever tiny things missed in the current verifier and a bunch of tests. The tests are mostly split between some Jasmin (a Java assembler) files that create bad class files and the BCEL based tests: BadClassFileCode.java and BadClassFileConstants.java. The configure script will automatically detect jasmin, but you need to specify a BCEL jar file with --with-bcel. Note that the BCEL based tests don't work in the test suite at the moment, the verifier chokes on them. However, you can run them manually by putting bcel.jar in the boot class path. thanks, tim _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
