diff options
author | Brian Carlstrom <bdc@google.com> | 2014-03-04 23:19:06 -0800 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2014-03-04 23:34:23 -0800 |
commit | c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690 (patch) | |
tree | b587b9b0df1969ab4e9d49c0a57c83cbf2c35feb | |
parent | c84d2f1d3feb6271ea260947e2a1eb43d64a099b (diff) | |
download | art-c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690.zip art-c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690.tar.gz art-c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690.tar.bz2 |
Reuse NoopCompilerCallbacks in oatdump
Change-Id: Icb4d3941196c1a236f0184fe4d0b7f5838bc13bd
-rw-r--r-- | compiler/driver/compiler_callbacks_impl.h | 10 | ||||
-rw-r--r-- | oatdump/oatdump.cc | 11 | ||||
-rw-r--r-- | runtime/common_runtime_test.h | 12 | ||||
-rw-r--r-- | runtime/noop_compiler_callbacks.h | 36 |
4 files changed, 45 insertions, 24 deletions
diff --git a/compiler/driver/compiler_callbacks_impl.h b/compiler/driver/compiler_callbacks_impl.h index fd2cd4a..ed6a925 100644 --- a/compiler/driver/compiler_callbacks_impl.h +++ b/compiler/driver/compiler_callbacks_impl.h @@ -23,7 +23,7 @@ namespace art { -class CompilerCallbacksImpl : public CompilerCallbacks { +class CompilerCallbacksImpl FINAL : public CompilerCallbacks { public: CompilerCallbacksImpl(VerificationResults* verification_results, DexFileToMethodInlinerMap* method_inliner_map) @@ -33,10 +33,10 @@ class CompilerCallbacksImpl : public CompilerCallbacks { CHECK(method_inliner_map != nullptr); } - virtual ~CompilerCallbacksImpl() { } + ~CompilerCallbacksImpl() { } - virtual bool MethodVerified(verifier::MethodVerifier* verifier) - SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + bool MethodVerified(verifier::MethodVerifier* verifier) + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) OVERRIDE { bool result = verification_results_->ProcessVerifiedMethod(verifier); if (result) { MethodReference ref = verifier->GetMethodReference(); @@ -45,7 +45,7 @@ class CompilerCallbacksImpl : public CompilerCallbacks { } return result; } - virtual void ClassRejected(ClassReference ref) { + void ClassRejected(ClassReference ref) OVERRIDE { verification_results_->AddRejectedClass(ref); } diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc index 841a478..915c415 100644 --- a/oatdump/oatdump.cc +++ b/oatdump/oatdump.cc @@ -26,7 +26,6 @@ #include "base/unix_file/fd_file.h" #include "class_linker.h" #include "class_linker-inl.h" -#include "compiler_callbacks.h" #include "dex_file-inl.h" #include "dex_instruction.h" #include "disassembler.h" @@ -43,6 +42,7 @@ #include "mirror/class-inl.h" #include "mirror/object-inl.h" #include "mirror/object_array-inl.h" +#include "noop_compiler_callbacks.h" #include "oat.h" #include "object_utils.h" #include "os.h" @@ -1528,13 +1528,8 @@ static int oatdump(int argc, char** argv) { std::string boot_oat_option; // We are more like a compiler than a run-time. We don't want to execute code. - // TODO: Replace with NoopCompilerCallbacks. - struct OatDumpCompilerCallbacks : CompilerCallbacks { - virtual bool MethodVerified(verifier::MethodVerifier* /*verifier*/) { return true; } - virtual void ClassRejected(ClassReference /*ref*/) { } - } callbacks; - options.push_back(std::make_pair("compilercallbacks", - static_cast<CompilerCallbacks*>(&callbacks))); + NoopCompilerCallbacks callbacks; + options.push_back(std::make_pair("compilercallbacks", &callbacks)); if (boot_image_filename != NULL) { boot_image_option += "-Ximage:"; diff --git a/runtime/common_runtime_test.h b/runtime/common_runtime_test.h index cef0703..cfe808c 100644 --- a/runtime/common_runtime_test.h +++ b/runtime/common_runtime_test.h @@ -31,7 +31,6 @@ #include "base/stringprintf.h" #include "base/unix_file/fd_file.h" #include "class_linker.h" -#include "compiler_callbacks.h" #include "dex_file-inl.h" #include "entrypoints/entrypoint_utils.h" #include "gc/heap.h" @@ -39,6 +38,7 @@ #include "instruction_set.h" #include "interpreter/interpreter.h" #include "mirror/class_loader.h" +#include "noop_compiler_callbacks.h" #include "oat_file.h" #include "object_utils.h" #include "os.h" @@ -94,16 +94,6 @@ class ScratchFile { UniquePtr<File> file_; }; -class NoopCompilerCallbacks : public CompilerCallbacks { - public: - NoopCompilerCallbacks() {} - virtual ~NoopCompilerCallbacks() {} - virtual bool MethodVerified(verifier::MethodVerifier* verifier) { - return true; - } - virtual void ClassRejected(ClassReference ref) {} -}; - class CommonRuntimeTest : public testing::Test { public: static void SetEnvironmentVariables(std::string& android_data) { diff --git a/runtime/noop_compiler_callbacks.h b/runtime/noop_compiler_callbacks.h new file mode 100644 index 0000000..702b2e1 --- /dev/null +++ b/runtime/noop_compiler_callbacks.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_ +#define ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_ + +#include "compiler_callbacks.h" + +namespace art { + +class NoopCompilerCallbacks FINAL : public CompilerCallbacks { + public: + NoopCompilerCallbacks() {} + ~NoopCompilerCallbacks() {} + bool MethodVerified(verifier::MethodVerifier* verifier) OVERRIDE { + return true; + } + void ClassRejected(ClassReference ref) OVERRIDE {} +}; + +} // namespace art + +#endif // ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_ |