hotspot/src/share/vm/classfile/verifier.hpp
changeset 3820 0a8fbbe180db
parent 1 489c9b5090e2
child 5693 3015c564fcbc
child 5547 f4b087cbb361
equal deleted inserted replaced
3814:91f531a11872 3820:0a8fbbe180db
    32    * Verify the bytecodes for a class.  If 'throw_exception' is true
    32    * Verify the bytecodes for a class.  If 'throw_exception' is true
    33    * then the appropriate VerifyError or ClassFormatError will be thrown.
    33    * then the appropriate VerifyError or ClassFormatError will be thrown.
    34    * Otherwise, no exception is thrown and the return indicates the
    34    * Otherwise, no exception is thrown and the return indicates the
    35    * error.
    35    * error.
    36    */
    36    */
    37   static bool verify(instanceKlassHandle klass, Mode mode, TRAPS);
    37   static bool verify(instanceKlassHandle klass, Mode mode, bool should_verify_class, TRAPS);
    38 
    38 
    39   // Return false if the class is loaded by the bootstrap loader.
    39   // Return false if the class is loaded by the bootstrap loader,
    40   static bool should_verify_for(oop class_loader);
    40   // or if defineClass was called requesting skipping verification
       
    41   // -Xverify:all/none override this value
       
    42   static bool should_verify_for(oop class_loader, bool should_verify_class);
    41 
    43 
    42   // Relax certain verifier checks to enable some broken 1.1 apps to run on 1.2.
    44   // Relax certain verifier checks to enable some broken 1.1 apps to run on 1.2.
    43   static bool relax_verify_for(oop class_loader);
    45   static bool relax_verify_for(oop class_loader);
    44 
    46 
    45  private:
    47  private:
    46   static bool is_eligible_for_verification(instanceKlassHandle klass);
    48   static bool is_eligible_for_verification(instanceKlassHandle klass, bool should_verify_class);
    47   static symbolHandle inference_verify(
    49   static symbolHandle inference_verify(
    48     instanceKlassHandle klass, char* msg, size_t msg_len, TRAPS);
    50     instanceKlassHandle klass, char* msg, size_t msg_len, TRAPS);
    49 };
    51 };
    50 
    52 
    51 class RawBytecodeStream;
    53 class RawBytecodeStream;