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

Side by Side Diff: src/spaces.h

Issue 558016: Strengthen a few assertions and add zapping of allocated... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 10 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 | « src/objects-inl.h ('k') | src/spaces.cc » ('j') | src/spaces.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 // greater than zero. 431 // greater than zero.
432 static Page* CommitPages(Address start, size_t size, PagedSpace* owner, 432 static Page* CommitPages(Address start, size_t size, PagedSpace* owner,
433 int* num_pages); 433 int* num_pages);
434 434
435 // Commit a contiguous block of memory from the initial chunk. Assumes that 435 // Commit a contiguous block of memory from the initial chunk. Assumes that
436 // the address is not NULL, the size is greater than zero, and that the 436 // the address is not NULL, the size is greater than zero, and that the
437 // block is contained in the initial chunk. Returns true if it succeeded 437 // block is contained in the initial chunk. Returns true if it succeeded
438 // and false otherwise. 438 // and false otherwise.
439 static bool CommitBlock(Address start, size_t size, Executability executable); 439 static bool CommitBlock(Address start, size_t size, Executability executable);
440 440
441
442 // Uncommit a contiguous block of memory [start..(start+size)[. 441 // Uncommit a contiguous block of memory [start..(start+size)[.
443 // start is not NULL, the size is greater than zero, and the 442 // start is not NULL, the size is greater than zero, and the
444 // block is contained in the initial chunk. Returns true if it succeeded 443 // block is contained in the initial chunk. Returns true if it succeeded
445 // and false otherwise. 444 // and false otherwise.
446 static bool UncommitBlock(Address start, size_t size); 445 static bool UncommitBlock(Address start, size_t size);
447 446
447 // Zaps a contiguous block of memory [start..(start+size)[ thus
448 // filling it up with a recognizable non-NULL bit pattern.
449 static void ZapBlock(Address start, size_t size);
450
448 // Attempts to allocate the requested (non-zero) number of pages from the 451 // Attempts to allocate the requested (non-zero) number of pages from the
449 // OS. Fewer pages might be allocated than requested. If it fails to 452 // OS. Fewer pages might be allocated than requested. If it fails to
450 // allocate memory for the OS or cannot allocate a single page, this 453 // allocate memory for the OS or cannot allocate a single page, this
451 // function returns an invalid page pointer (NULL). The caller must check 454 // function returns an invalid page pointer (NULL). The caller must check
452 // whether the returned page is valid (by calling Page::is_valid()). It is 455 // whether the returned page is valid (by calling Page::is_valid()). It is
453 // guaranteed that allocated pages have contiguous addresses. The actual 456 // guaranteed that allocated pages have contiguous addresses. The actual
454 // number of allocated pages is returned in the output parameter 457 // number of allocated pages is returned in the output parameter
455 // allocated_pages. If the PagedSpace owner is executable and there is 458 // allocated_pages. If the PagedSpace owner is executable and there is
456 // a code range, the pages are allocated from the code range. 459 // a code range, the pages are allocated from the code range.
457 static Page* AllocatePages(int requested_pages, int* allocated_pages, 460 static Page* AllocatePages(int requested_pages, int* allocated_pages,
(...skipping 1609 matching lines...) Expand 10 before | Expand all | Expand 10 after
2067 2070
2068 private: 2071 private:
2069 LargeObjectChunk* current_; 2072 LargeObjectChunk* current_;
2070 HeapObjectCallback size_func_; 2073 HeapObjectCallback size_func_;
2071 }; 2074 };
2072 2075
2073 2076
2074 } } // namespace v8::internal 2077 } } // namespace v8::internal
2075 2078
2076 #endif // V8_SPACES_H_ 2079 #endif // V8_SPACES_H_
OLDNEW
« no previous file with comments | « src/objects-inl.h ('k') | src/spaces.cc » ('j') | src/spaces.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698