Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: test/cctest/test-spaces.cc

Issue 23548024: Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « test/cctest/test-random-number-generator.cc ('k') | test/cctest/test-strings.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 200
201 201
202 static unsigned int Pseudorandom() { 202 static unsigned int Pseudorandom() {
203 static uint32_t lo = 2345; 203 static uint32_t lo = 2345;
204 lo = 18273 * (lo & 0xFFFFF) + (lo >> 16); 204 lo = 18273 * (lo & 0xFFFFF) + (lo >> 16);
205 return lo & 0xFFFFF; 205 return lo & 0xFFFFF;
206 } 206 }
207 207
208 208
209 TEST(MemoryChunk) { 209 TEST(MemoryChunk) {
210 OS::SetUp();
211 Isolate* isolate = Isolate::Current(); 210 Isolate* isolate = Isolate::Current();
212 isolate->InitializeLoggingAndCounters(); 211 isolate->InitializeLoggingAndCounters();
213 Heap* heap = isolate->heap(); 212 Heap* heap = isolate->heap();
214 CHECK(heap->ConfigureHeapDefault()); 213 CHECK(heap->ConfigureHeapDefault());
215 214
216 size_t reserve_area_size = 1 * MB; 215 size_t reserve_area_size = 1 * MB;
217 size_t initial_commit_area_size, second_commit_area_size; 216 size_t initial_commit_area_size, second_commit_area_size;
218 217
219 for (int i = 0; i < 100; i++) { 218 for (int i = 0; i < 100; i++) {
220 initial_commit_area_size = Pseudorandom(); 219 initial_commit_area_size = Pseudorandom();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 code_range, 256 code_range,
258 reserve_area_size, 257 reserve_area_size,
259 initial_commit_area_size, 258 initial_commit_area_size,
260 second_commit_area_size, 259 second_commit_area_size,
261 NOT_EXECUTABLE); 260 NOT_EXECUTABLE);
262 } 261 }
263 } 262 }
264 263
265 264
266 TEST(MemoryAllocator) { 265 TEST(MemoryAllocator) {
267 OS::SetUp();
268 Isolate* isolate = Isolate::Current(); 266 Isolate* isolate = Isolate::Current();
269 isolate->InitializeLoggingAndCounters(); 267 isolate->InitializeLoggingAndCounters();
270 Heap* heap = isolate->heap(); 268 Heap* heap = isolate->heap();
271 CHECK(isolate->heap()->ConfigureHeapDefault()); 269 CHECK(isolate->heap()->ConfigureHeapDefault());
272 270
273 MemoryAllocator* memory_allocator = new MemoryAllocator(isolate); 271 MemoryAllocator* memory_allocator = new MemoryAllocator(isolate);
274 CHECK(memory_allocator->SetUp(heap->MaxReserved(), 272 CHECK(memory_allocator->SetUp(heap->MaxReserved(),
275 heap->MaxExecutableSize())); 273 heap->MaxExecutableSize()));
276 274
277 int total_pages = 0; 275 int total_pages = 0;
(...skipping 29 matching lines...) Expand all
307 Page* second_page = first_page->next_page(); 305 Page* second_page = first_page->next_page();
308 CHECK(second_page->is_valid()); 306 CHECK(second_page->is_valid());
309 memory_allocator->Free(first_page); 307 memory_allocator->Free(first_page);
310 memory_allocator->Free(second_page); 308 memory_allocator->Free(second_page);
311 memory_allocator->TearDown(); 309 memory_allocator->TearDown();
312 delete memory_allocator; 310 delete memory_allocator;
313 } 311 }
314 312
315 313
316 TEST(NewSpace) { 314 TEST(NewSpace) {
317 OS::SetUp();
318 Isolate* isolate = Isolate::Current(); 315 Isolate* isolate = Isolate::Current();
319 isolate->InitializeLoggingAndCounters(); 316 isolate->InitializeLoggingAndCounters();
320 Heap* heap = isolate->heap(); 317 Heap* heap = isolate->heap();
321 CHECK(heap->ConfigureHeapDefault()); 318 CHECK(heap->ConfigureHeapDefault());
322 MemoryAllocator* memory_allocator = new MemoryAllocator(isolate); 319 MemoryAllocator* memory_allocator = new MemoryAllocator(isolate);
323 CHECK(memory_allocator->SetUp(heap->MaxReserved(), 320 CHECK(memory_allocator->SetUp(heap->MaxReserved(),
324 heap->MaxExecutableSize())); 321 heap->MaxExecutableSize()));
325 TestMemoryAllocatorScope test_scope(isolate, memory_allocator); 322 TestMemoryAllocatorScope test_scope(isolate, memory_allocator);
326 323
327 NewSpace new_space(heap); 324 NewSpace new_space(heap);
328 325
329 CHECK(new_space.SetUp(HEAP->ReservedSemiSpaceSize(), 326 CHECK(new_space.SetUp(HEAP->ReservedSemiSpaceSize(),
330 HEAP->ReservedSemiSpaceSize())); 327 HEAP->ReservedSemiSpaceSize()));
331 CHECK(new_space.HasBeenSetUp()); 328 CHECK(new_space.HasBeenSetUp());
332 329
333 while (new_space.Available() >= Page::kMaxNonCodeHeapObjectSize) { 330 while (new_space.Available() >= Page::kMaxNonCodeHeapObjectSize) {
334 Object* obj = 331 Object* obj =
335 new_space.AllocateRaw(Page::kMaxNonCodeHeapObjectSize)-> 332 new_space.AllocateRaw(Page::kMaxNonCodeHeapObjectSize)->
336 ToObjectUnchecked(); 333 ToObjectUnchecked();
337 CHECK(new_space.Contains(HeapObject::cast(obj))); 334 CHECK(new_space.Contains(HeapObject::cast(obj)));
338 } 335 }
339 336
340 new_space.TearDown(); 337 new_space.TearDown();
341 memory_allocator->TearDown(); 338 memory_allocator->TearDown();
342 delete memory_allocator; 339 delete memory_allocator;
343 } 340 }
344 341
345 342
346 TEST(OldSpace) { 343 TEST(OldSpace) {
347 OS::SetUp();
348 Isolate* isolate = Isolate::Current(); 344 Isolate* isolate = Isolate::Current();
349 isolate->InitializeLoggingAndCounters(); 345 isolate->InitializeLoggingAndCounters();
350 Heap* heap = isolate->heap(); 346 Heap* heap = isolate->heap();
351 CHECK(heap->ConfigureHeapDefault()); 347 CHECK(heap->ConfigureHeapDefault());
352 MemoryAllocator* memory_allocator = new MemoryAllocator(isolate); 348 MemoryAllocator* memory_allocator = new MemoryAllocator(isolate);
353 CHECK(memory_allocator->SetUp(heap->MaxReserved(), 349 CHECK(memory_allocator->SetUp(heap->MaxReserved(),
354 heap->MaxExecutableSize())); 350 heap->MaxExecutableSize()));
355 TestMemoryAllocatorScope test_scope(isolate, memory_allocator); 351 TestMemoryAllocatorScope test_scope(isolate, memory_allocator);
356 352
357 OldSpace* s = new OldSpace(heap, 353 OldSpace* s = new OldSpace(heap,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 { MaybeObject* maybe_obj = lo->AllocateRaw(lo_size, NOT_EXECUTABLE); 393 { MaybeObject* maybe_obj = lo->AllocateRaw(lo_size, NOT_EXECUTABLE);
398 if (!maybe_obj->ToObject(&obj)) break; 394 if (!maybe_obj->ToObject(&obj)) break;
399 } 395 }
400 CHECK(lo->Available() < available); 396 CHECK(lo->Available() < available);
401 }; 397 };
402 398
403 CHECK(!lo->IsEmpty()); 399 CHECK(!lo->IsEmpty());
404 400
405 CHECK(lo->AllocateRaw(lo_size, NOT_EXECUTABLE)->IsFailure()); 401 CHECK(lo->AllocateRaw(lo_size, NOT_EXECUTABLE)->IsFailure());
406 } 402 }
OLDNEW
« no previous file with comments | « test/cctest/test-random-number-generator.cc ('k') | test/cctest/test-strings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698