Index: src/spaces.cc |
diff --git a/src/spaces.cc b/src/spaces.cc |
index 20efbf72e080f36d8fe9e50833cce25043f7c928..b4dbf1cb4b86d0dad24c48c4e814545e1b69079e 100644 |
--- a/src/spaces.cc |
+++ b/src/spaces.cc |
@@ -135,8 +135,17 @@ CodeRange::CodeRange(Isolate* isolate) |
bool CodeRange::SetUp(const size_t requested) { |
ASSERT(code_range_ == NULL); |
+ size_t actual_requested = requested; |
Michael Starzinger
2014/04/09 12:03:04
nit: Instead of having two variables "actual_reque
jochen (gone - plz use gerrit)
2014/04/09 12:44:56
Done.
|
- code_range_ = new VirtualMemory(requested); |
+ if (actual_requested == 0) { |
+ if (kIs64BitArch) { |
+ actual_requested = 512 * MB; |
+ } else { |
+ return true; |
+ } |
+ } |
+ |
+ code_range_ = new VirtualMemory(actual_requested); |
CHECK(code_range_ != NULL); |
if (!code_range_->IsReserved()) { |
delete code_range_; |
@@ -145,8 +154,9 @@ bool CodeRange::SetUp(const size_t requested) { |
} |
// We are sure that we have mapped a block of requested addresses. |
- ASSERT(code_range_->size() == requested); |
- LOG(isolate_, NewEvent("CodeRange", code_range_->address(), requested)); |
+ ASSERT(code_range_->size() == actual_requested); |
+ LOG(isolate_, |
+ NewEvent("CodeRange", code_range_->address(), actual_requested)); |
Address base = reinterpret_cast<Address>(code_range_->address()); |
Address aligned_base = |
RoundUp(reinterpret_cast<Address>(code_range_->address()), |