发明名称 |
Branch trace compression |
摘要 |
Exemplary methods, apparatuses, and systems generate a plurality of possible branch traces for a computer program. Each possible branch trace represents different sequences of branch instructions that may be executed while the computer program is running. Each branch instruction has a corresponding identifier. A branch trace value is generated for at least one of the plurality of possible branch traces. Generating the branch trace value includes performing a mathematical or logical operation between a first identifier and each subsequent identifier of the possible branch trace to obtain the branch trace value. An output including a branch trace is generated based upon a match between a run-time branch trace value and the at least one generated branch trace value. |
申请公布号 |
US9104402(B2) |
申请公布日期 |
2015.08.11 |
申请号 |
US201313972727 |
申请日期 |
2013.08.21 |
申请人 |
VMWARE, INC. |
发明人 |
Madampath Rajiv;Bajaj Rupesh |
分类号 |
G06F9/44;G06F9/30;G06F11/36;G06F11/34 |
主分类号 |
G06F9/44 |
代理机构 |
Nicholson, De Vos, Webster & Elliott LLP |
代理人 |
Nicholson, De Vos, Webster & Elliott LLP |
主权项 |
1. A computer-implemented method, comprising:
generating a plurality of possible branch traces for a computer program, each possible branch trace representing different sequences of branch instructions that may be executed while the computer program is running, each branch instruction having a corresponding identifier; determining an address of a function of the computer program; generating an object dump including instructions for the function; determining an address offset for each branch instruction from the object dump; generating a branch trace value for at least one of the plurality of possible branch traces, wherein generating the branch trace value includes performing a mathematical or logical operation between a first identifier of a first branch instruction and each subsequent identifier of branches taken within the possible branch trace to obtain the branch trace value; receiving or reading a run-time branch trace value generated while the computer program is executed; andgenerating an output including a branch trace, wherein the output branch trace is selected based upon a match between the run-time branch trace value and the at least one generated branch trace value. |
地址 |
Palo Alto CA US |