Compile method one-by-one.

Change-Id: Ic56fb397f3bd6dee32372eb875261a3383eaf30c
diff --git a/src/runtime.cc b/src/runtime.cc
index 5f20a4b..b5928b2 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -48,6 +48,10 @@
 #include "verifier/method_verifier.h"
 #include "well_known_classes.h"
 
+#if defined(ART_USE_LLVM_COMPILER)
+#include "compiler_llvm/procedure_linkage_table.h"
+#endif
+
 #include "JniConstants.h" // Last to avoid LOG redefinition in ics-mr1-plus-art.
 
 namespace art {
@@ -83,13 +87,27 @@
       tracer_(NULL),
       use_compile_time_class_path_(false),
       main_thread_group_(NULL),
-      system_thread_group_(NULL) {
+      system_thread_group_(NULL)
+#if defined(ART_USE_LLVM_COMPILER)
+#if defined(__arm__)
+    , plt_(kArm)
+#elif defined(__mips__)
+    , plt_(kMips)
+#elif defined(__i386__)
+    , plt_(kX86)
+#endif
+#endif
+      {
   for (int i = 0; i < Runtime::kLastTrampolineMethodType; i++) {
     resolution_stub_array_[i] = NULL;
   }
   for (int i = 0; i < Runtime::kLastCalleeSaveType; i++) {
     callee_save_methods_[i] = NULL;
   }
+
+#if defined(ART_USE_LLVM_COMPILER)
+  CHECK(plt_.AllocateTable()) << "Failed to allocate PLT";
+#endif
 }
 
 Runtime::~Runtime() {