16.08.2013 Views

Exterminator- A ... with High Probability.pdf - DSpace at CUSAT ...

Exterminator- A ... with High Probability.pdf - DSpace at CUSAT ...

Exterminator- A ... with High Probability.pdf - DSpace at CUSAT ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2 <strong>Extermin<strong>at</strong>or</strong>’s Heap Layout<br />

<strong>Extermin<strong>at</strong>or</strong><br />

Figure 1 presents <strong>Extermin<strong>at</strong>or</strong>’s heap layout, which includes five fields per object for<br />

error isol<strong>at</strong>ion and correction: an object id, alloc<strong>at</strong>ion and dealloc<strong>at</strong>ion sites, dealloc<strong>at</strong>ion<br />

time, which records when the object was freed, and a canary bitset th<strong>at</strong> indic<strong>at</strong>es if the<br />

object was filled <strong>with</strong> canaries (Section 3.3).<br />

An object id of n means th<strong>at</strong> the object is the nth object alloc<strong>at</strong>ed. <strong>Extermin<strong>at</strong>or</strong> uses<br />

object ids to identify objects across multiple heaps. These ids are needed because the<br />

object’s address cannot be used to identify it across differently-randomized heaps.<br />

The site inform<strong>at</strong>ion fields capture the calling context for alloc<strong>at</strong>ions and<br />

dealloc<strong>at</strong>ions. For each, <strong>Extermin<strong>at</strong>or</strong> hashes the least significant bytes of the five mostrecent<br />

return addresses into 32 bits using the DJB2 hash function (see Figure 3).<br />

This out-of-band metad<strong>at</strong>a accounts for approxim<strong>at</strong>ely 16 bytes plus two bits of space<br />

overhead for every object. This overhead is comparable to th<strong>at</strong> of typical free list-based<br />

memory managers like the Lea alloc<strong>at</strong>or, which prepend 8-byte (on 32-bit systems) or 16byte<br />

headers (on 64-bit systems) to alloc<strong>at</strong>ed objects.<br />

Dept. Of Computer Science & Engg. ~ 5 ~ Cochin University of Science & Technology

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!