Home | History | Annotate | Download | only in verifier

Lines Matching full:verifier

26 namespace verifier {
28 inline const RegType& RegisterLine::GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const {
31 return verifier->GetRegTypeCache()->GetFromId(line_[vsrc]);
34 inline bool RegisterLine::SetRegisterType(MethodVerifier* verifier, uint32_t vdst,
38 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Expected category1 register type not '"
51 inline bool RegisterLine::SetRegisterTypeWide(MethodVerifier* verifier, uint32_t vdst,
56 verifier->Fail(VERIFY_ERROR_BAD_CLASS_SOFT) << "Invalid wide pair '"
69 inline void RegisterLine::SetResultTypeToUnknown(MethodVerifier* verifier) {
70 result_[0] = verifier->GetRegTypeCache()->Undefined().GetId();
74 inline void RegisterLine::SetResultRegisterType(MethodVerifier* verifier, const RegType& new_type) {
78 result_[1] = verifier->GetRegTypeCache()->Undefined().GetId();
88 inline void RegisterLine::CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc,
91 const RegType& type = GetRegisterType(verifier, vsrc);
92 if (!SetRegisterType(verifier, vdst, type)) {
98 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "copy1 v" << vdst << "<-v" << vsrc << " type=" << type
105 inline void RegisterLine::CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc) {
106 const RegType& type_l = GetRegisterType(verifier, vsrc);
107 const RegType& type_h = GetRegisterType(verifier, vsrc + 1);
110 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "copy2 v" << vdst << "<-v" << vsrc
113 SetRegisterTypeWide(verifier, vdst, type_l, type_h);
117 inline size_t RegisterLine::GetMaxNonZeroReferenceReg(MethodVerifier* verifier,
121 if (GetRegisterType(verifier, i).IsNonZeroReferenceTypes()) {
128 inline bool RegisterLine::VerifyRegisterType(MethodVerifier* verifier, uint32_t vsrc,
131 const RegType& src_type = GetRegisterType(verifier, vsrc);
142 verifier->Fail(fail_type) << "register v" << vsrc << " has type "
147 const RegType& src_type_h = GetRegisterType(verifier, vsrc + 1);
149 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "wide register v" << vsrc << " has type "
161 inline bool RegisterLine::VerifyMonitorStackEmpty(MethodVerifier* verifier) const {
163 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "expected empty monitor stack";
170 } // namespace verifier