summaryrefslogtreecommitdiff
path: root/compiler/compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/compiler.h')
-rw-r--r--compiler/compiler.h19
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_;