×

Tracking variable information in optimized code

  • US 8,656,377 B2
  • Filed: 06/10/2010
  • Issued: 02/18/2014
  • Est. Priority Date: 06/10/2010
  • Status: Active Grant
First Claim
Patent Images

1. At a computer system including a processor and a memory, a computer-implemented method for tracking variable location information in optimized code, the method comprising the computer system performing the following acts:

  • receiving a portion of source code at a compiler, wherein the compiler is configured to compile and optimize the source code for execution;

    tagging one or more selected variables in the source code with a tag, wherein the tag is configured to provide location information for the variable and wherein tagging the one or more selected variables occurs before the compiler converts the source code into an intermediate form;

    the compiler optimizing the received portion of source code, wherein optimizing comprises changing one or more of the tagged variables and changing comprises replacing the one or more of the tagged variables with a value or a set of instructions;

    tracking the tagged variables as the variables are changed by the compiler during code optimization, wherein tracking the tagged variables comprises each of tracking each change, move, and replacement of each of the tagged variables so that the tar associated with a tagged variable adheres to the value or set of instructions which replaced the tagged variable and so that the value or set of instructions which replaced the tagged variable are tracked in place of the tagged variable;

    persisting the variable location information, so that the persisted variable location information is available to one or more other compiler components;

    compressing the persisted variable location information using a domain-specific compression algorithm;

    a debugger decompressing the compressed variable location information; and

    the debugger displaying the decompressed variable location information to a user.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×