Remove use of MemMap for code allocation.

In preparation of moving to an executable code space.

Change-Id: I6cb6fec93c66005f8020d718fe3c1c5aa1c85356
diff --git a/src/jni_compiler.cc b/src/jni_compiler.cc
index 1789e1b..0a11268 100644
--- a/src/jni_compiler.cc
+++ b/src/jni_compiler.cc
@@ -311,10 +311,11 @@
   // 17. Finalize code generation
   jni_asm->EmitSlowPaths();
   size_t cs = jni_asm->CodeSize();
-  MemoryRegion code(AllocateCode(cs), cs);
+  ByteArray* managed_code = ByteArray::Alloc(cs);
+  CHECK(managed_code != NULL);
+  MemoryRegion code(managed_code->GetData(), managed_code->GetLength());
   jni_asm->FinalizeInstructions(code);
-  native_method->SetCode(reinterpret_cast<byte*>(code.pointer()), cs,
-      jni_asm->GetInstructionSet());
+  native_method->SetCode(managed_code, jni_asm->GetInstructionSet());
   native_method->SetFrameSizeInBytes(frame_size);
   native_method->SetReturnPcOffsetInBytes(jni_conv.ReturnPcOffset());
 }
@@ -408,20 +409,7 @@
   }
 }
 
-void* JniCompiler::AllocateCode(size_t size) {
-  CHECK_LT(((jni_code_top_ - jni_code_->GetAddress()) + size), jni_code_->GetLength());
-  void *result = jni_code_top_;
-  jni_code_top_ += size;
-  return result;
-}
-
-JniCompiler::JniCompiler() {
-  // TODO: this shouldn't be managed by the JniCompiler, we should have a
-  // code cache.
-  jni_code_.reset(MemMap::Map(kPageSize, PROT_READ | PROT_WRITE | PROT_EXEC));
-  CHECK(jni_code_.get() !=  NULL);
-  jni_code_top_ = jni_code_->GetAddress();
-}
+JniCompiler::JniCompiler() {}
 
 JniCompiler::~JniCompiler() {}