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