Index: src/heap/spaces.cc |
diff --git a/src/heap/spaces.cc b/src/heap/spaces.cc |
index 9be53e03f284018c8b8cafa6462f82712992fba4..92f3f7fa5efcda31560c3ed0bd115b4530f50528 100644 |
--- a/src/heap/spaces.cc |
+++ b/src/heap/spaces.cc |
@@ -193,8 +193,10 @@ Address CodeRange::AllocateRawMemory(const size_t requested_size, |
const size_t commit_size, |
size_t* allocated) { |
DCHECK(commit_size <= requested_size); |
- DCHECK(current_allocation_block_index_ < allocation_list_.length()); |
- if (requested_size > allocation_list_[current_allocation_block_index_].size) { |
+ DCHECK(allocation_list_.length() == 0 || |
+ current_allocation_block_index_ < allocation_list_.length()); |
+ if (allocation_list_.length() == 0 || |
+ requested_size > allocation_list_[current_allocation_block_index_].size) { |
// Find an allocation block large enough. |
if (!GetNextAllocationBlock(requested_size)) return NULL; |
} |
@@ -218,7 +220,7 @@ Address CodeRange::AllocateRawMemory(const size_t requested_size, |
allocation_list_[current_allocation_block_index_].size -= *allocated; |
if (*allocated == current.size) { |
// This block is used up, get the next one. |
- if (!GetNextAllocationBlock(0)) return NULL; |
+ GetNextAllocationBlock(0); |
} |
return current.start; |
} |