Patent ID: 8387065

Claim:
A method implemented by a data processing device having a processor and a memory coupled to the processor, wherein utilization of critical processor resources to perform an introspective analysis on demand is reduced and a latency of performing introspective analyses is reduced, the method comprising: invoking a compiler to: detect, within an instruction sequence, one or more program instructions for storing one or more data; determine that the one or more data that will be stored by a program instruction of the one or more program instructions will likely require an introspective analysis be performed at a later processing time; and in response to determining that the one or more data will likely require performing the introspective analysis: generate one or more speculative introspective operations operable on the one or more data; and insert the one or more speculative introspective operations into the instruction sequence at a point in the instruction sequence before the one or more program instructions for storing data, so as to form an augmented instruction sequence, wherein resultant values of the one or more introspective operations can be subsequently requested by the processor during later processing of the one or more data; and invoking the processor to: detect, within the augmented instruction sequence, the one or more speculative introspective operations; store the one or more data in a first memory location for future access; perform the one or more speculative introspective operations to determine one or more resultant values, wherein the speculative introspective operations are perform as a background process while other processes continue to execute on the processor and at a time-prior to receiving a request to perform the one or more introspective operations, and wherein the speculative introspective operations are perform concurrently with storing the one or more data; store the determined one or more resultant values of the speculative introspective operations to a second memory location; and retrieve the determined one or more resultant values of the speculative introspective operations from the second memory location in response to the processor receiving a request for the one or more speculative introspective operations.