Lines Matching full:verifier
47 #include "verifier/dex_gc_map.h"
50 namespace verifier {
58 MethodVerifier* verifier) {
78 register_lines_[i] = RegisterLine::Create(registers_size, verifier);
93 ALWAYS_INLINE static inline bool FailOrAbort(MethodVerifier* verifier, bool condition,
101 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << error_msg << work_insn_idx;
109 static void SafelyMarkAllRegistersAsConflicts(MethodVerifier* verifier, RegisterLine* reg_line) {
110 if (verifier->IsInstanceConstructor()) {
112 reg_line->CheckConstructorReturn(verifier);
114 reg_line->MarkAllRegistersAsConflicts(verifier);
153 *error = "Verifier rejected class " + PrettyDescriptor(klass) + failure_message;
178 *error = "Verifier rejected class ";
232 *error = "Verifier rejected class ";
275 *error = "Verifier rejected class ";
315 MethodVerifier verifier(self, dex_file, dex_cache, class_loader, class_def, code_item,
318 if (verifier.Verify()) {
321 CHECK(!verifier.have_pending_hard_failure_);
322 if (verifier.failures_.size() != 0) {
323 if (VLOG_IS_ON(verifier)) {
324 verifier.DumpFailures(VLOG_STREAM(verifier) << "Soft verification failures in "
331 CHECK_NE(verifier.failures_.size(), 0U);
332 CHECK(verifier.have_pending_hard_failure_);
333 verifier.DumpFailures(LOG(INFO) << "Verification error in "
336 std::cout << "\n" << verifier.info_messages_.str();
337 verifier.Dump(std::cout);
360 MethodVerifier* verifier = new MethodVerifier(self, dex_file, dex_cache, class_loader,
363 verifier->Verify();
364 verifier->DumpFailures(os);
365 os << verifier->info_messages_.str();
366 // Only dump and return if no hard failures. Otherwise the verifier may be not fully initialized
368 if (verifier->have_pending_hard_failure_) {
369 delete verifier;
372 verifier->Dump(os);
373 return verifier;
428 MethodVerifier verifier(hs.Self(), m->GetDexFile(), dex_cache, class_loader, &m->GetClassDef(),
431 verifier.interesting_dex_pc_ = dex_pc;
432 verifier.monitor_enter_dex_pcs_ = monitor_enter_dex_pcs;
433 verifier.FindLocksAtDexPc();
472 MethodVerifier verifier(hs.Self(), m->GetDexFile(), dex_cache, class_loader, &m->GetClassDef(),
475 return verifier.FindAccessedFieldAtDexPc(dex_pc);
501 MethodVerifier verifier(hs.Self(), m->GetDexFile(), dex_cache, class_loader, &m->GetClassDef(),
504 return verifier.FindInvokedMethodAtDexPc(dex_pc);
532 MethodVerifier verifier(self, m->GetDexFile(), dex_cache, class_loader, &m->GetClassDef(),
535 return verifier.FindStringInitMap();
1534 * down the line, possibly in the verifier.
1637 // Generate processing back trace to debug verifier
3334 /* caught by static verifier */
3535 VLOG(verifier) << "Failed to get mirror::Class* from '" << actual_arg_type << "'";
3600 /* caught by static verifier */
3888 VLOG(verifier) << "Unable to resolve static field " << field_idx << " ("
3923 VLOG(verifier) << "Unable to resolve instance field " << field_idx << " ("
4084 VLOG(verifier) << "Failed to get mirror::Class* from '" << object_type << "'";
4091 VLOG(verifier) << "Failed to find instance field at offset '" << field_offset
4433 art::verifier::RegTypeCache::Init();
4437 verifier::RegTypeCache::ShutDown();
4460 } // namespace verifier