40 STACKMAP_ATTRIBUTE_MAJOR_VERSION = 50, |
40 STACKMAP_ATTRIBUTE_MAJOR_VERSION = 50, |
41 INVOKEDYNAMIC_MAJOR_VERSION = 51, |
41 INVOKEDYNAMIC_MAJOR_VERSION = 51, |
42 NO_RELAX_ACCESS_CTRL_CHECK_VERSION = 52, |
42 NO_RELAX_ACCESS_CTRL_CHECK_VERSION = 52, |
43 DYNAMICCONSTANT_MAJOR_VERSION = 55 |
43 DYNAMICCONSTANT_MAJOR_VERSION = 55 |
44 }; |
44 }; |
45 typedef enum { ThrowException, NoException } Mode; |
45 |
46 |
46 // Verify the bytecodes for a class. |
47 /** |
47 static bool verify(InstanceKlass* klass, bool should_verify_class, TRAPS); |
48 * Verify the bytecodes for a class. If 'throw_exception' is true |
48 |
49 * then the appropriate VerifyError or ClassFormatError will be thrown. |
|
50 * Otherwise, no exception is thrown and the return indicates the |
|
51 * error. |
|
52 */ |
|
53 static void log_end_verification(outputStream* st, const char* klassName, Symbol* exception_name, TRAPS); |
49 static void log_end_verification(outputStream* st, const char* klassName, Symbol* exception_name, TRAPS); |
54 static bool verify(InstanceKlass* klass, Mode mode, bool should_verify_class, TRAPS); |
|
55 |
50 |
56 // Return false if the class is loaded by the bootstrap loader, |
51 // Return false if the class is loaded by the bootstrap loader, |
57 // or if defineClass was called requesting skipping verification |
52 // or if defineClass was called requesting skipping verification |
58 // -Xverify:all/none override this value |
53 // -Xverify:all/none override this value |
59 static bool should_verify_for(oop class_loader, bool should_verify_class); |
54 static bool should_verify_for(oop class_loader, bool should_verify_class); |