summaryrefslogtreecommitdiff
path: root/compiler/jit
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/jit')
-rw-r--r--compiler/jit/jit_compiler.cc12
-rw-r--r--compiler/jit/jit_compiler.h5
-rw-r--r--compiler/jit/jit_logger.cc2
-rw-r--r--compiler/jit/jit_logger.h4
4 files changed, 16 insertions, 7 deletions
diff --git a/compiler/jit/jit_compiler.cc b/compiler/jit/jit_compiler.cc
index 7002636d4e..e67236769e 100644
--- a/compiler/jit/jit_compiler.cc
+++ b/compiler/jit/jit_compiler.cc
@@ -34,13 +34,17 @@
#include "jit/jit_code_cache.h"
#include "jit/jit_logger.h"
-namespace art {
+namespace art HIDDEN {
namespace jit {
JitCompiler* JitCompiler::Create() {
return new JitCompiler();
}
+void JitCompiler::SetDebuggableCompilerOption(bool value) {
+ compiler_options_->SetDebuggable(value);
+}
+
void JitCompiler::ParseCompilerOptions() {
// Special case max code units for inlining, whose default is "unset" (implictly
// meaning no limit). Do this before parsing the actual passed options.
@@ -85,7 +89,7 @@ void JitCompiler::ParseCompilerOptions() {
if (StartsWith(option, "--instruction-set-variant=")) {
const char* str = option.c_str() + strlen("--instruction-set-variant=");
VLOG(compiler) << "JIT instruction set variant " << str;
- instruction_set_features = InstructionSetFeatures::FromVariant(
+ instruction_set_features = InstructionSetFeatures::FromVariantAndHwcap(
instruction_set, str, &error_msg);
if (instruction_set_features == nullptr) {
LOG(WARNING) << "Error parsing " << option << " message=" << error_msg;
@@ -121,7 +125,7 @@ void JitCompiler::ParseCompilerOptions() {
}
}
-extern "C" JitCompilerInterface* jit_load() {
+EXPORT extern "C" JitCompilerInterface* jit_load() {
VLOG(jit) << "Create jit compiler";
auto* const jit_compiler = JitCompiler::Create();
CHECK(jit_compiler != nullptr);
@@ -199,6 +203,8 @@ bool JitCompiler::CompileMethod(
VLOG(jit) << "Compilation of " << method->PrettyMethod() << " took "
<< PrettyDuration(UsToNs(duration_us));
runtime->GetMetrics()->JitMethodCompileCount()->AddOne();
+ runtime->GetMetrics()->JitMethodCompileTotalTimeDelta()->Add(duration_us);
+ runtime->GetMetrics()->JitMethodCompileCountDelta()->AddOne();
}
// Trim maps to reduce memory usage.
diff --git a/compiler/jit/jit_compiler.h b/compiler/jit/jit_compiler.h
index 8e9966db0e..5a919fb612 100644
--- a/compiler/jit/jit_compiler.h
+++ b/compiler/jit/jit_compiler.h
@@ -17,12 +17,13 @@
#ifndef ART_COMPILER_JIT_JIT_COMPILER_H_
#define ART_COMPILER_JIT_JIT_COMPILER_H_
+#include "base/macros.h"
#include "base/mutex.h"
#include "compilation_kind.h"
#include "jit/jit.h"
-namespace art {
+namespace art HIDDEN {
class ArtMethod;
class Compiler;
@@ -50,6 +51,8 @@ class JitCompiler : public JitCompilerInterface {
bool IsBaselineCompiler() const override;
+ void SetDebuggableCompilerOption(bool val) override;
+
bool GenerateDebugInfo() override;
void ParseCompilerOptions() override;
diff --git a/compiler/jit/jit_logger.cc b/compiler/jit/jit_logger.cc
index 6b9453f525..32845260f3 100644
--- a/compiler/jit/jit_logger.cc
+++ b/compiler/jit/jit_logger.cc
@@ -24,7 +24,7 @@
#include "jit/jit_code_cache.h"
#include "oat_file-inl.h"
-namespace art {
+namespace art HIDDEN {
namespace jit {
#ifdef ART_TARGET_ANDROID
diff --git a/compiler/jit/jit_logger.h b/compiler/jit/jit_logger.h
index f4ef75a5fe..9d1f3073fa 100644
--- a/compiler/jit/jit_logger.h
+++ b/compiler/jit/jit_logger.h
@@ -19,11 +19,11 @@
#include <memory>
+#include "base/macros.h"
#include "base/mutex.h"
#include "base/os.h"
-#include "compiled_method.h"
-namespace art {
+namespace art HIDDEN {
class ArtMethod;