diff options
| author | 2012-06-05 23:51:19 -0700 | |
|---|---|---|
| committer | 2012-06-06 21:52:21 -0700 | |
| commit | b08ed1255fc34b9f34bcea66cd5e0a292af3d698 (patch) | |
| tree | ecc865c3f942fe0949ef3d9b0bb3aa585f6e2d61 /src/compiler_llvm/compilation_unit.cc | |
| parent | 7a2a23a44d27f769718e28327af671f4e486c49a (diff) | |
Implement thin-lock fast path for compiler-llvm.
Change-Id: I09d6a0dba4df7cbeb0c0e3f432ab3b09fce0846d
Diffstat (limited to 'src/compiler_llvm/compilation_unit.cc')
| -rw-r--r-- | src/compiler_llvm/compilation_unit.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/compiler_llvm/compilation_unit.cc b/src/compiler_llvm/compilation_unit.cc index 5f239ab245..5dc03c361e 100644 --- a/src/compiler_llvm/compilation_unit.cc +++ b/src/compiler_llvm/compilation_unit.cc @@ -24,6 +24,7 @@ #include "os.h" #include "runtime_support_builder_arm.h" +#include "runtime_support_builder_thumb2.h" #include "runtime_support_builder_x86.h" #include <llvm/ADT/OwningPtr.h> @@ -180,13 +181,15 @@ CompilationUnit::CompilationUnit(InstructionSet insn_set, size_t elf_idx) // We always need a switch case, so just use a normal function. switch(insn_set_) { - default: - runtime_support_.reset(new RuntimeSupportBuilder(*context_, *module_, *irb_)); - break; + default: + runtime_support_.reset(new RuntimeSupportBuilder(*context_, *module_, *irb_)); + break; case kArm: - case kThumb2: runtime_support_.reset(new RuntimeSupportBuilderARM(*context_, *module_, *irb_)); break; + case kThumb2: + runtime_support_.reset(new RuntimeSupportBuilderThumb2(*context_, *module_, *irb_)); + break; case kX86: runtime_support_.reset(new RuntimeSupportBuilderX86(*context_, *module_, *irb_)); break; @@ -254,13 +257,13 @@ bool CompilationUnit::MaterializeToFile(llvm::raw_ostream& out_stream) { switch (insn_set_) { case kThumb2: target_triple = "thumb-none-linux-gnueabi"; - target_attr = "+thumb2,+neon,+neonfp,+vfp3"; + target_attr = "+thumb2,+neon,+neonfp,+vfp3,+db"; break; case kArm: target_triple = "armv7-none-linux-gnueabi"; // TODO: Fix for Xoom. - target_attr = "+v7,+neon,+neonfp,+vfp3"; + target_attr = "+v7,+neon,+neonfp,+vfp3,+db"; break; case kX86: |