45 HeapWord* addr = (HeapWord*)this; |
45 HeapWord* addr = (HeapWord*)this; |
46 size_t hdr = header_size(); |
46 size_t hdr = header_size(); |
47 Copy::fill_to_words(addr + hdr, size - hdr, baadbabeHeapWord); |
47 Copy::fill_to_words(addr + hdr, size - hdr, baadbabeHeapWord); |
48 } |
48 } |
49 |
49 |
50 void FreeChunk::mangleFreed(size_t size) { |
50 void FreeChunk::mangleFreed(size_t sz) { |
51 assert(baadbabeHeapWord != deadbeefHeapWord, "Need distinct patterns"); |
51 assert(baadbabeHeapWord != deadbeefHeapWord, "Need distinct patterns"); |
52 // mangle all but the header of a just-freed block of storage |
52 // mangle all but the header of a just-freed block of storage |
53 // just prior to passing it to the storage dictionary |
53 // just prior to passing it to the storage dictionary |
54 assert(size >= MinChunkSize, "smallest size of object"); |
54 assert(sz >= MinChunkSize, "smallest size of object"); |
55 assert(size == _size, "just checking"); |
55 assert(sz == size(), "just checking"); |
56 HeapWord* addr = (HeapWord*)this; |
56 HeapWord* addr = (HeapWord*)this; |
57 size_t hdr = header_size(); |
57 size_t hdr = header_size(); |
58 Copy::fill_to_words(addr + hdr, size - hdr, deadbeefHeapWord); |
58 Copy::fill_to_words(addr + hdr, sz - hdr, deadbeefHeapWord); |
59 } |
59 } |
60 |
60 |
61 void FreeChunk::verifyList() const { |
61 void FreeChunk::verifyList() const { |
62 FreeChunk* nextFC = next(); |
62 FreeChunk* nextFC = next(); |
63 if (nextFC != NULL) { |
63 if (nextFC != NULL) { |