diff options
Diffstat (limited to 'runtime/runtime.h')
-rw-r--r-- | runtime/runtime.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/runtime/runtime.h b/runtime/runtime.h index 6a5fe7502f..c81e36a6da 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -26,6 +26,7 @@ #include <utility> #include <vector> +#include "compiler_callbacks.h" #include "instrumentation.h" #include "instruction_set.h" #include "jobject_comparator.h" @@ -55,7 +56,6 @@ namespace verifier { class MethodVerifier; } class ClassLinker; -class CompilerCallbacks; class DexFile; class InternTable; class JavaVMExt; @@ -92,6 +92,18 @@ class Runtime { return compiler_callbacks_ != nullptr; } + bool CanRelocate() const { + return !IsCompiler() || compiler_callbacks_->IsRelocationPossible(); + } + + bool ShouldRelocate() const { + return must_relocate_ && CanRelocate(); + } + + bool MustRelocateIfPossible() const { + return must_relocate_; + } + CompilerCallbacks* GetCompilerCallbacks() { return compiler_callbacks_; } @@ -105,6 +117,7 @@ class Runtime { } std::string GetCompilerExecutable() const; + std::string GetPatchoatExecutable() const; const std::vector<std::string>& GetCompilerOptions() const { return compiler_options_; @@ -486,10 +499,12 @@ class Runtime { CompilerCallbacks* compiler_callbacks_; bool is_zygote_; + bool must_relocate_; bool is_concurrent_gc_enabled_; bool is_explicit_gc_disabled_; std::string compiler_executable_; + std::string patchoat_executable_; std::vector<std::string> compiler_options_; std::vector<std::string> image_compiler_options_; |