hotspot/src/share/vm/classfile/verifier.cpp
bool Verifier::relax_verify_for(oop loader) {
{- -------------------------------------------
(1) 以下の条件のどちらかが成り立てば false をリターン(= verification を緩和しない).
そうでなければ true をリターン(= 〃 を緩和する).
* BytecodeVerificationLocal オプションと BytecodeVerificationRemote オプションの両方が指定されている
(なお, これらのオプション値は -Xverify オプションの値によって決まる)
* BytecodeVerificationRemote オプションが指定されており, かつ java_lang_ClassLoader::is_trusted_loader() が false
---------------------------------------- -}
bool trusted = java_lang_ClassLoader::is_trusted_loader(loader);
bool need_verify =
// verifyAll
(BytecodeVerificationLocal && BytecodeVerificationRemote) ||
// verifyRemote
(!BytecodeVerificationLocal && BytecodeVerificationRemote && !trusted);
return !need_verify;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.