title: Triggering Lookaside lists
body: <p>I am trying to make my application to use lookaside lists for memory management. I know the following details from various papers on this subject.</p>
  
  <ol>
  <li>Lookaside lists are located at offset +0x688 from the heap base</li>
  <li>Each member is 48 bytes long.</li>
  <li>lookasidelist[0],lookasidelist[1] not used.</li>
  <li>lookasidelist[n] block is of size n*8 and used to store (n-1)*8 byte blocks (remaining 8 bytes is used for header) and offset 0 points to a linked list containing free chunks of size (n-1)*8 terminating with null.</li>
  <li>Lookaside lists are enabled by default in XP SP3 and disabled in Vista/Win 7 systems(Low fragmentation heap is used in Vista/Win 7)</li>
  </ol>
  
  <p>The problem that I am facing is that my application seems to not use Lookaside lists. No allocation seems to originate from lookaside lists and all the freed blocks are moved to freelist. Is there a particular compiler flag or a condition needs to be satisfied in order for the applications to use lookaside lists?
  Application is compiled in Microsoft Visual C++ 2010 express edition and is tested under Windows XP SP3. I am using immunity debugger for verifying if lookaside lists are being used. If there is a better way do let me know.</p>