Implement thin-lock fast path for compiler-llvm.
Change-Id: I09d6a0dba4df7cbeb0c0e3f432ab3b09fce0846d
diff --git a/src/compiler_llvm/compilation_unit.cc b/src/compiler_llvm/compilation_unit.cc
index 5f239ab..5dc03c3 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 @@
// 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 @@
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: