diff options
Diffstat (limited to 'compiler/llvm/compiler_llvm.h')
-rw-r--r-- | compiler/llvm/compiler_llvm.h | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/compiler/llvm/compiler_llvm.h b/compiler/llvm/compiler_llvm.h deleted file mode 100644 index 7d29198667..0000000000 --- a/compiler/llvm/compiler_llvm.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (C) 2012 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_COMPILER_LLVM_COMPILER_LLVM_H_ -#define ART_COMPILER_LLVM_COMPILER_LLVM_H_ - -#include <memory> -#include <string> -#include <utility> -#include <vector> - -#include "base/macros.h" -#include "dex_file.h" -#include "driver/compiler_driver.h" -#include "instruction_set.h" -#include "mirror/object.h" - -namespace art { - class CompiledMethod; - class CompilerDriver; - class DexCompilationUnit; - namespace mirror { - class ArtMethod; - class ClassLoader; - } // namespace mirror -} // namespace art - - -namespace llvm { - class Function; - class LLVMContext; - class Module; - class PointerType; - class StructType; - class Type; -} // namespace llvm - - -namespace art { -namespace llvm { - -class LlvmCompilationUnit; -class IRBuilder; - -class CompilerLLVM { - public: - CompilerLLVM(CompilerDriver* driver, InstructionSet insn_set); - - ~CompilerLLVM(); - - CompilerDriver* GetCompiler() const { - return compiler_driver_; - } - - InstructionSet GetInstructionSet() const { - return insn_set_; - } - - void SetBitcodeFileName(const std::string& filename) { - bitcode_filename_ = filename; - } - - CompiledMethod* CompileDexMethod(DexCompilationUnit* dex_compilation_unit, - InvokeType invoke_type); - - CompiledMethod* CompileGBCMethod(DexCompilationUnit* dex_compilation_unit, std::string* func); - - CompiledMethod* CompileNativeMethod(DexCompilationUnit* dex_compilation_unit); - - private: - LlvmCompilationUnit* AllocateCompilationUnit(); - - CompilerDriver* const compiler_driver_; - - const InstructionSet insn_set_; - - Mutex next_cunit_id_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER; - size_t next_cunit_id_ GUARDED_BY(next_cunit_id_lock_); - - std::string bitcode_filename_; - - DISALLOW_COPY_AND_ASSIGN(CompilerLLVM); -}; - -void ArtInitCompilerContext(CompilerDriver* driver); - -void ArtUnInitCompilerContext(CompilerDriver* driver); - -CompiledMethod* ArtCompileMethod(CompilerDriver* driver, const DexFile::CodeItem* code_item, - uint32_t access_flags, InvokeType invoke_type, - uint16_t class_def_idx, uint32_t method_idx, jobject class_loader, - const DexFile& dex_file); - -CompiledMethod* ArtLLVMJniCompileMethod(CompilerDriver* driver, uint32_t access_flags, - uint32_t method_idx, const DexFile& dex_file); - -void compilerLLVMSetBitcodeFileName(const CompilerDriver& driver, const std::string& filename); - -} // namespace llvm -} // namespace art - -#endif // ART_COMPILER_LLVM_COMPILER_LLVM_H_ |