| Index: test/cctest/test-spaces.cc
|
| diff --git a/test/cctest/test-spaces.cc b/test/cctest/test-spaces.cc
|
| index 1f362d7e7afe71346fcb6f9cc76c5be0c05987d0..0e957048ee78ef0237db92202cf2cb4bad0030a5 100644
|
| --- a/test/cctest/test-spaces.cc
|
| +++ b/test/cctest/test-spaces.cc
|
| @@ -121,148 +121,9 @@ class TestMemoryAllocatorScope {
|
| DISALLOW_COPY_AND_ASSIGN(TestMemoryAllocatorScope);
|
| };
|
|
|
| -
|
| -// Temporarily sets a given code range in an isolate.
|
| -class TestCodeRangeScope {
|
| - public:
|
| - TestCodeRangeScope(Isolate* isolate, CodeRange* code_range)
|
| - : isolate_(isolate),
|
| - old_code_range_(isolate->code_range_) {
|
| - isolate->code_range_ = code_range;
|
| - }
|
| -
|
| - ~TestCodeRangeScope() {
|
| - isolate_->code_range_ = old_code_range_;
|
| - }
|
| -
|
| - private:
|
| - Isolate* isolate_;
|
| - CodeRange* old_code_range_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TestCodeRangeScope);
|
| -};
|
| -
|
| } } // namespace v8::internal
|
|
|
|
|
| -static void VerifyMemoryChunk(Isolate* isolate,
|
| - Heap* heap,
|
| - CodeRange* code_range,
|
| - size_t reserve_area_size,
|
| - size_t commit_area_size,
|
| - size_t second_commit_area_size,
|
| - Executability executable) {
|
| - MemoryAllocator* memory_allocator = new MemoryAllocator(isolate);
|
| - CHECK(memory_allocator->SetUp(heap->MaxReserved(),
|
| - heap->MaxExecutableSize()));
|
| - TestMemoryAllocatorScope test_allocator_scope(isolate, memory_allocator);
|
| - TestCodeRangeScope test_code_range_scope(isolate, code_range);
|
| -
|
| - size_t header_size = (executable == EXECUTABLE)
|
| - ? MemoryAllocator::CodePageGuardStartOffset()
|
| - : MemoryChunk::kObjectStartOffset;
|
| - size_t guard_size = (executable == EXECUTABLE)
|
| - ? MemoryAllocator::CodePageGuardSize()
|
| - : 0;
|
| -
|
| - MemoryChunk* memory_chunk = memory_allocator->AllocateChunk(reserve_area_size,
|
| - commit_area_size,
|
| - executable,
|
| - NULL);
|
| - size_t alignment = code_range->exists() ?
|
| - MemoryChunk::kAlignment : OS::CommitPageSize();
|
| - size_t reserved_size = ((executable == EXECUTABLE))
|
| - ? RoundUp(header_size + guard_size + reserve_area_size + guard_size,
|
| - alignment)
|
| - : RoundUp(header_size + reserve_area_size, OS::CommitPageSize());
|
| - CHECK(memory_chunk->size() == reserved_size);
|
| - CHECK(memory_chunk->area_start() < memory_chunk->address() +
|
| - memory_chunk->size());
|
| - CHECK(memory_chunk->area_end() <= memory_chunk->address() +
|
| - memory_chunk->size());
|
| - CHECK(static_cast<size_t>(memory_chunk->area_size()) == commit_area_size);
|
| -
|
| - Address area_start = memory_chunk->area_start();
|
| -
|
| - memory_chunk->CommitArea(second_commit_area_size);
|
| - CHECK(area_start == memory_chunk->area_start());
|
| - CHECK(memory_chunk->area_start() < memory_chunk->address() +
|
| - memory_chunk->size());
|
| - CHECK(memory_chunk->area_end() <= memory_chunk->address() +
|
| - memory_chunk->size());
|
| - CHECK(static_cast<size_t>(memory_chunk->area_size()) ==
|
| - second_commit_area_size);
|
| -
|
| - memory_allocator->Free(memory_chunk);
|
| - memory_allocator->TearDown();
|
| - delete memory_allocator;
|
| -}
|
| -
|
| -
|
| -static unsigned int Pseudorandom() {
|
| - static uint32_t lo = 2345;
|
| - lo = 18273 * (lo & 0xFFFFF) + (lo >> 16);
|
| - return lo & 0xFFFFF;
|
| -}
|
| -
|
| -
|
| -TEST(MemoryChunk) {
|
| - OS::SetUp();
|
| - Isolate* isolate = Isolate::Current();
|
| - isolate->InitializeLoggingAndCounters();
|
| - Heap* heap = isolate->heap();
|
| - CHECK(heap->ConfigureHeapDefault());
|
| -
|
| - size_t reserve_area_size = 1 * MB;
|
| - size_t initial_commit_area_size, second_commit_area_size;
|
| -
|
| - for (int i = 0; i < 100; i++) {
|
| - initial_commit_area_size = Pseudorandom();
|
| - second_commit_area_size = Pseudorandom();
|
| -
|
| - // With CodeRange.
|
| - CodeRange* code_range = new CodeRange(isolate);
|
| - const int code_range_size = 32 * MB;
|
| - if (!code_range->SetUp(code_range_size)) return;
|
| -
|
| - VerifyMemoryChunk(isolate,
|
| - heap,
|
| - code_range,
|
| - reserve_area_size,
|
| - initial_commit_area_size,
|
| - second_commit_area_size,
|
| - EXECUTABLE);
|
| -
|
| - VerifyMemoryChunk(isolate,
|
| - heap,
|
| - code_range,
|
| - reserve_area_size,
|
| - initial_commit_area_size,
|
| - second_commit_area_size,
|
| - NOT_EXECUTABLE);
|
| - delete code_range;
|
| -
|
| - // Without CodeRange.
|
| - code_range = NULL;
|
| - VerifyMemoryChunk(isolate,
|
| - heap,
|
| - code_range,
|
| - reserve_area_size,
|
| - initial_commit_area_size,
|
| - second_commit_area_size,
|
| - EXECUTABLE);
|
| -
|
| - VerifyMemoryChunk(isolate,
|
| - heap,
|
| - code_range,
|
| - reserve_area_size,
|
| - initial_commit_area_size,
|
| - second_commit_area_size,
|
| - NOT_EXECUTABLE);
|
| - }
|
| -}
|
| -
|
| -
|
| TEST(MemoryAllocator) {
|
| OS::SetUp();
|
| Isolate* isolate = Isolate::Current();
|
|
|