diff --git a/lib/CodeGen/CodeMemoryManager.cpp b/lib/CodeGen/CodeMemoryManager.cpp
index c5271e6..9ecc1c3 100644
--- a/lib/CodeGen/CodeMemoryManager.cpp
+++ b/lib/CodeGen/CodeMemoryManager.cpp
@@ -17,7 +17,7 @@
 #include <cutils/log.h>
 
 #include "CodeMemoryManager.h"
-#include "ExecutionEngine/ContextManager.h"
+#include "ExecutionEngine/OldJIT/ContextManager.h"
 
 #include "llvm/Support/ErrorHandling.h"
 
diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk
index b72e22b..e849827 100644
--- a/lib/ExecutionEngine/Android.mk
+++ b/lib/ExecutionEngine/Android.mk
@@ -24,7 +24,6 @@
 
 libbcc_executionengine_SRC_FILES := \
   Compiler.cpp \
-  ContextManager.cpp \
   FileHandle.cpp \
   Runtime.c \
   RuntimeStub.c \
@@ -32,16 +31,29 @@
   ScriptCompiled.cpp \
   SourceInfo.cpp
 
-ifeq ($(libbcc_USE_CACHE),1)
+ifeq ($(libbcc_USE_OLD_JIT),1)
 libbcc_executionengine_SRC_FILES += \
-  CacheReader.cpp \
-  CacheWriter.cpp \
-  ScriptCached.cpp \
-  Sha1Helper.cpp \
+  OldJIT/ContextManager.cpp
+endif
+
+ifeq ($(libbcc_USE_CACHE),1)
+ifeq ($(libbcc_USE_OLD_JIT),1)
+libbcc_executionengine_SRC_FILES += \
+  OldJIT/CacheReader.cpp \
+  OldJIT/CacheWriter.cpp
+endif
+
+ifeq ($(libbcc_USE_MCJIT),1)
+libbcc_executionengine_SRC_FILES += \
   MCCacheWriter.cpp \
   MCCacheReader.cpp
 endif
 
+libbcc_executionengine_SRC_FILES += \
+  ScriptCached.cpp \
+  Sha1Helper.cpp
+endif
+
 
 #=====================================================================
 # Device Static Library: libbccExecutionEngine
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index 98a35b3..5b03144 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -18,7 +18,10 @@
 
 #include "Config.h"
 
-#include "ContextManager.h"
+#if USE_OLD_JIT
+#include "OldJIT/ContextManager.h"
+#endif
+
 #include "DebugHelper.h"
 #include "FileHandle.h"
 #include "Runtime.h"
diff --git a/lib/ExecutionEngine/MCCacheReader.cpp b/lib/ExecutionEngine/MCCacheReader.cpp
index 0a97abb..82b7cdc 100644
--- a/lib/ExecutionEngine/MCCacheReader.cpp
+++ b/lib/ExecutionEngine/MCCacheReader.cpp
@@ -16,7 +16,6 @@
 
 #include "MCCacheReader.h"
 
-#include "ContextManager.h"
 #include "DebugHelper.h"
 #include "FileHandle.h"
 #include "ScriptCached.h"
diff --git a/lib/ExecutionEngine/MCCacheWriter.cpp b/lib/ExecutionEngine/MCCacheWriter.cpp
index ef98e79..ea45551 100644
--- a/lib/ExecutionEngine/MCCacheWriter.cpp
+++ b/lib/ExecutionEngine/MCCacheWriter.cpp
@@ -16,7 +16,6 @@
 
 #include "MCCacheWriter.h"
 
-#include "ContextManager.h"
 #include "DebugHelper.h"
 #include "FileHandle.h"
 #include "Script.h"
diff --git a/lib/ExecutionEngine/CacheReader.cpp b/lib/ExecutionEngine/OldJIT/CacheReader.cpp
similarity index 100%
rename from lib/ExecutionEngine/CacheReader.cpp
rename to lib/ExecutionEngine/OldJIT/CacheReader.cpp
diff --git a/lib/ExecutionEngine/CacheReader.h b/lib/ExecutionEngine/OldJIT/CacheReader.h
similarity index 100%
rename from lib/ExecutionEngine/CacheReader.h
rename to lib/ExecutionEngine/OldJIT/CacheReader.h
diff --git a/lib/ExecutionEngine/CacheWriter.cpp b/lib/ExecutionEngine/OldJIT/CacheWriter.cpp
similarity index 100%
rename from lib/ExecutionEngine/CacheWriter.cpp
rename to lib/ExecutionEngine/OldJIT/CacheWriter.cpp
diff --git a/lib/ExecutionEngine/CacheWriter.h b/lib/ExecutionEngine/OldJIT/CacheWriter.h
similarity index 100%
rename from lib/ExecutionEngine/CacheWriter.h
rename to lib/ExecutionEngine/OldJIT/CacheWriter.h
diff --git a/lib/ExecutionEngine/ContextManager.cpp b/lib/ExecutionEngine/OldJIT/ContextManager.cpp
similarity index 100%
rename from lib/ExecutionEngine/ContextManager.cpp
rename to lib/ExecutionEngine/OldJIT/ContextManager.cpp
diff --git a/lib/ExecutionEngine/ContextManager.h b/lib/ExecutionEngine/OldJIT/ContextManager.h
similarity index 100%
rename from lib/ExecutionEngine/ContextManager.h
rename to lib/ExecutionEngine/OldJIT/ContextManager.h
diff --git a/lib/ExecutionEngine/Script.cpp b/lib/ExecutionEngine/Script.cpp
index ee18f47..26929fd 100644
--- a/lib/ExecutionEngine/Script.cpp
+++ b/lib/ExecutionEngine/Script.cpp
@@ -18,11 +18,18 @@
 
 #include "Config.h"
 
-#include "CacheReader.h"
-#include "CacheWriter.h"
+#if USE_OLD_JIT
+#include "OldJIT/CacheReader.h"
+#include "OldJIT/CacheWriter.h"
+#endif
+
 #include "MCCacheReader.h"
 #include "MCCacheWriter.h"
-#include "ContextManager.h"
+
+#if USE_OLD_JIT
+#include "OldJIT/ContextManager.h"
+#endif
+
 #include "DebugHelper.h"
 #include "FileHandle.h"
 #include "ScriptCompiled.h"
@@ -684,6 +691,7 @@
 }
 
 
+#if USE_OLD_JIT
 char *Script::getContext() {
   switch (mStatus) {
 
@@ -703,6 +711,7 @@
     }
   }
 }
+#endif
 
 
 int Script::registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext) {
diff --git a/lib/ExecutionEngine/Script.h b/lib/ExecutionEngine/Script.h
index 4f99581..921af8c 100644
--- a/lib/ExecutionEngine/Script.h
+++ b/lib/ExecutionEngine/Script.h
@@ -140,7 +140,9 @@
 
     int registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext);
 
+#if USE_OLD_JIT
     char *getContext();
+#endif
 
 
     void setError(int error) {
diff --git a/lib/ExecutionEngine/ScriptCached.cpp b/lib/ExecutionEngine/ScriptCached.cpp
index 7c3ad1f..a7d21f7 100644
--- a/lib/ExecutionEngine/ScriptCached.cpp
+++ b/lib/ExecutionEngine/ScriptCached.cpp
@@ -20,7 +20,10 @@
 
 #include <bcc/bcc_cache.h>
 
-#include "ContextManager.h"
+#if USE_OLD_JIT
+#include "OldJIT/ContextManager.h"
+#endif
+
 #include "DebugHelper.h"
 
 #include <stdlib.h>
@@ -29,9 +32,11 @@
 
 ScriptCached::~ScriptCached() {
   // Deallocate the bcc script context
+#if USE_OLD_JIT
   if (mContext) {
     ContextManager::get().deallocateContext(mContext);
   }
+#endif
 
   // Deallocate string pool, exported var list, exported func list
   if (mpStringPoolRaw) { free(mpStringPoolRaw); }
diff --git a/lib/ExecutionEngine/ScriptCached.h b/lib/ExecutionEngine/ScriptCached.h
index 39cf663..a627e5c 100644
--- a/lib/ExecutionEngine/ScriptCached.h
+++ b/lib/ExecutionEngine/ScriptCached.h
@@ -66,7 +66,9 @@
 
     FuncTable mFunctions;
 
+#if USE_OLD_JIT
     char *mContext;
+#endif
 
 #if USE_MCJIT
     RSExecRef mRSExecutable;
@@ -79,8 +81,14 @@
 
   public:
     ScriptCached(Script *owner)
-      : mpOwner(owner), mpExportVars(NULL), mpExportFuncs(NULL),
-        mpObjectSlotList(NULL), mContext(NULL), mpStringPoolRaw(NULL),
+      : mpOwner(owner),
+        mpExportVars(NULL),
+        mpExportFuncs(NULL),
+        mpObjectSlotList(NULL),
+#if USE_OLD_JIT
+        mContext(NULL),
+#endif
+        mpStringPoolRaw(NULL),
         mLibRSThreadable(false) {
     }
 
@@ -122,9 +130,11 @@
     void getObjectSlotList(size_t objectSlotListSize,
                            uint32_t *objectSlotList);
 
+#if USE_OLD_JIT
     char *getContext() {
       return mContext;
     }
+#endif
 
     // Dirty hack for libRS.
     // TODO(all): This should be removed in the future.
diff --git a/lib/ExecutionEngine/ScriptCompiled.cpp b/lib/ExecutionEngine/ScriptCompiled.cpp
index f5ea2e0..bb3c79a 100644
--- a/lib/ExecutionEngine/ScriptCompiled.cpp
+++ b/lib/ExecutionEngine/ScriptCompiled.cpp
@@ -17,12 +17,15 @@
 #include "ScriptCompiled.h"
 
 #include "bcc_internal.h"
-#include "ContextManager.h"
+#if USE_OLD_JIT
+#include "OldJIT/ContextManager.h"
+#endif
 #include "DebugHelper.h"
 
 namespace bcc {
 
 ScriptCompiled::~ScriptCompiled() {
+#if USE_OLD_JIT
   // Deallocate the BCC context
   if (mContext) {
     ContextManager::get().deallocateContext(mContext);
@@ -35,6 +38,7 @@
       delete I->second;
     }
   }
+#endif
 }
 
 void ScriptCompiled::getExportVarList(size_t varListSize, void **varList) {
diff --git a/lib/ExecutionEngine/ScriptCompiled.h b/lib/ExecutionEngine/ScriptCompiled.h
index 3800645..9593be8 100644
--- a/lib/ExecutionEngine/ScriptCompiled.h
+++ b/lib/ExecutionEngine/ScriptCompiled.h
@@ -61,11 +61,17 @@
 
     FuncInfoMap mEmittedFunctions;
 
+#if USE_OLD_JIT
     char *mContext; // Context of BCC script (code and data)
+#endif
 
   public:
     ScriptCompiled(Script *owner)
-      : mpOwner(owner), mCompiler(this), mContext(NULL) {
+      : mpOwner(owner), mCompiler(this)
+#if USE_OLD_JIT
+        , mContext(NULL)
+#endif
+    {
     }
 
     ~ScriptCompiled();
@@ -131,9 +137,12 @@
     void getObjectSlotList(size_t objectSlotListSize,
                            uint32_t *objectSlotList);
 
+#if USE_OLD_JIT
     char *getContext() {
       return mContext;
     }
+#endif
+
 #if USE_MCJIT
     const char *getELF() const {
       return &*mCompiler.getELF().begin();
diff --git a/lib/ExecutionEngine/SourceInfo.cpp b/lib/ExecutionEngine/SourceInfo.cpp
index 40b2fd9..32992d8 100644
--- a/lib/ExecutionEngine/SourceInfo.cpp
+++ b/lib/ExecutionEngine/SourceInfo.cpp
@@ -17,11 +17,15 @@
 #include "SourceInfo.h"
 
 #if USE_CACHE
-#include "CacheReader.h"
-#include "CacheWriter.h"
+#if USE_OLD_JIT
+#include "OldJIT/CacheReader.h"
+#include "OldJIT/CacheWriter.h"
+#endif
+#if USE_MCJIT
 #include "MCCacheWriter.h"
 #include "MCCacheReader.h"
 #endif
+#endif
 
 #include "DebugHelper.h"
 #include "ScriptCompiled.h"
@@ -188,10 +192,15 @@
   }
 }
 
+#if USE_OLD_JIT
 template void SourceInfo::introDependency<CacheReader>(CacheReader &);
 template void SourceInfo::introDependency<CacheWriter>(CacheWriter &);
+#endif
+
+#if USE_MCJIT
 template void SourceInfo::introDependency<MCCacheWriter>(MCCacheWriter &);
 template void SourceInfo::introDependency<MCCacheReader>(MCCacheReader &);
+#endif
 #endif // USE_CACHE
 
 
