diff options
Diffstat (limited to 'compiler/compiler.h')
| -rw-r--r-- | compiler/compiler.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/compiler/compiler.h b/compiler/compiler.h index 487a27fec0..2ca0b77a73 100644 --- a/compiler/compiler.h +++ b/compiler/compiler.h @@ -18,6 +18,7 @@ #define ART_COMPILER_COMPILER_H_ #include "dex_file.h" +#include "base/mutex.h" #include "os.h" namespace art { @@ -25,11 +26,16 @@ namespace art { namespace jit { class JitCodeCache; } +namespace mirror { + class DexCache; +} class ArtMethod; class CompilerDriver; class CompiledMethod; +template<class T> class Handle; class OatWriter; +class Thread; class Compiler { public: @@ -38,6 +44,12 @@ class Compiler { kOptimizing }; + enum JniOptimizationFlags { + kNone = 0x0, + kFastNative = 0x1, + kCriticalNative = 0x2, + }; + static Compiler* Create(CompilerDriver* driver, Kind kind); virtual void Init() = 0; @@ -57,18 +69,19 @@ class Compiler { virtual CompiledMethod* JniCompile(uint32_t access_flags, uint32_t method_idx, - const DexFile& dex_file) const = 0; + const DexFile& dex_file, + JniOptimizationFlags optimization_flags) const = 0; virtual bool JitCompile(Thread* self ATTRIBUTE_UNUSED, jit::JitCodeCache* code_cache ATTRIBUTE_UNUSED, ArtMethod* method ATTRIBUTE_UNUSED, bool osr ATTRIBUTE_UNUSED) - SHARED_REQUIRES(Locks::mutator_lock_) { + REQUIRES_SHARED(Locks::mutator_lock_) { return false; } virtual uintptr_t GetEntryPointOf(ArtMethod* method) const - SHARED_REQUIRES(Locks::mutator_lock_) = 0; + REQUIRES_SHARED(Locks::mutator_lock_) = 0; uint64_t GetMaximumCompilationTimeBeforeWarning() const { return maximum_compilation_time_before_warning_; |