First pass of ImageWriter
Change-Id: I4f189587a2e3cc1c265200b8fa64321b299947eb
diff --git a/src/jni_compiler.cc b/src/jni_compiler.cc
index b7d8f5d..07aeec3 100644
--- a/src/jni_compiler.cc
+++ b/src/jni_compiler.cc
@@ -365,7 +365,7 @@
}
void* JniCompiler::AllocateCode(size_t size) {
- CHECK_LT(((jni_code_top_ - jni_code_) + size), jni_code_size_);
+ CHECK_LT(((jni_code_top_ - jni_code_->GetAddress()) + size), jni_code_->GetLength());
void *result = jni_code_top_;
jni_code_top_ += size;
return result;
@@ -374,18 +374,13 @@
JniCompiler::JniCompiler() {
// TODO: this shouldn't be managed by the JniCompiler, we should have a
// code cache.
- jni_code_size_ = kPageSize;
- jni_code_ = static_cast<byte*>(mmap(NULL, jni_code_size_,
- PROT_READ | PROT_WRITE | PROT_EXEC,
- MAP_ANONYMOUS | MAP_PRIVATE, -1, 0));
- CHECK_NE(MAP_FAILED, jni_code_);
- jni_code_top_ = jni_code_;
+ jni_code_.reset(MemMap::Map(kPageSize,
+ PROT_READ | PROT_WRITE | PROT_EXEC,
+ MAP_ANONYMOUS | MAP_PRIVATE));
+ CHECK(jni_code_ != NULL);
+ jni_code_top_ = jni_code_->GetAddress();
}
-JniCompiler::~JniCompiler() {
- // TODO: this shouldn't be managed by the JniCompiler, we should have a
- // code cache.
- CHECK_EQ(0, munmap(jni_code_, jni_code_size_));
-}
+JniCompiler::~JniCompiler() {}
} // namespace art