Patent ID: 7178134
Filing Date: 2007-02-13
Classification: G06F

Abstract:
1. A method for analyzing memory allocation trace data for a computer program, comprising the steps of: recording a plurality of memory block allocations and deallocations during execution of said computer program; constructing a sorted address index, said sorted address index containing entries of a plurality of types, including a first type entry corresponding to a memory block allocation, a second type entry corresponding to a memory deallocation, and a third type entry corresponding to a memory address inquiry, said address index being sorted by address; scanning said sorted address index in order of said entries, said scan proceeding sequentially in address order; dynamically maintaining a sorted sequence index of entries while performing said step of scanning said sorted address index, each entry in said sorted sequence index corresponding to a respective memory allocation, said entries in said sorted sequence index being sorted by chronological sequence indicator, said sorted sequence index containing all memory allocations applicable to a current address in the sequential address order of said scanning step; upon encountering a memory address inquiry entry while performing said step of scanning said sorted address index, using a chronological sequence indicator value of the encountered memory address inquiry entry to locate an entry in said sorted sequence index, said entry in said sorted sequence index representing a memory block allocation corresponding to the encountered memory address inquiry entry, and recording an association between the encountered memory address inquiry entry and the memory block allocation corresponding to said encountered memory address inquiry entry.