17617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin/* 27617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * Copyright (C) 2015 The Android Open Source Project 37617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * 47617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * Licensed under the Apache License, Version 2.0 (the "License"); 57617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * you may not use this file except in compliance with the License. 67617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * You may obtain a copy of the License at 77617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * 87617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * http://www.apache.org/licenses/LICENSE-2.0 97617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * 107617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * Unless required by applicable law or agreed to in writing, software 117617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * distributed under the License is distributed on an "AS IS" BASIS, 127617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * See the License for the specific language governing permissions and 147617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin * limitations under the License. 157617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin */ 167617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin 177617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin#ifndef ART_RUNTIME_VERIFIER_VERIFY_MODE_H_ 187617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin#define ART_RUNTIME_VERIFIER_VERIFY_MODE_H_ 197617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin 207617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin#include <stdint.h> 217617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin 227617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkinnamespace art { 237617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkinnamespace verifier { 247617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin 257617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin// The mode that the verifier should run as. 267617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkinenum class VerifyMode : int8_t { 277617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin kNone, // Everything is assumed verified. 287617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin kEnable, // Standard verification, try pre-verifying at compile-time. 297617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin kSoftFail, // Force a soft fail, punting to the interpreter with access checks. 307617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin}; 317617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin 327617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin} // namespace verifier 337617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin} // namespace art 347617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin 357617abdb402fd0419daa3eefb2ad059ccbb8b6dbIgor Murashkin#endif // ART_RUNTIME_VERIFIER_VERIFY_MODE_H_ 36