Inlining with stack trace cache-based dynamic profiling
AssigneeIntel Corporation
InventorsGansha Wu, Guei-Yuan Lueh
Life of this patent
Estimating the term…
Abstract
A method, system, and apparatus are described for inlining using stack trace cache. According to one embodiment, whether a last stack frame of a stack frame trace is not cached is determined, and if the last stack frame is not cached, a caller-callee relationship is recorded, and a relationship map is updated with the recorded caller-callee relationship.
Claims30
A method, comprising:
- determining whether a last stack frame of a stack frame trace is not cached;
- recording a caller-callee relationship if the last stack frame is not cached;
- and
- updating a relationship map with the recorded caller-callee relationship.
A method, comprising:
- checking a relationship map to periodically monitor a plurality of caller-callee pairs;
- determining whether a caller-callee pair of the plurality of caller-callee pairs is hot;
- recompiling a caller corresponding to a hot caller-callee pair;
- and
- inlining a callee corresponding to the hot caller-callee pair.
A system, comprising:
- a processor;
- and
- a storage medium coupled with the processor, the storage device having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to:
- initialize a stack frame trace with a default value;
- detect a last stack frame of the stack frame trace;
- determine whether the last stack frame is not cached;
- record a caller-callee relationship if the last stack frame is not cached;
- and
- update a relationship map with the recorded caller-callee relationship.
An apparatus, comprising:
- a processor;
- and
- a storage medium coupled with the processor, the storage device having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to:
- determine whether a last stack frame of a stack frame trace is not cached;
- record a caller-callee relationship if the last stack frame is not cached;
- and
- update a relationship map with the recorded caller-callee relationship.
A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a machine, cause the machine to:
- determine whether a last stack frame of a stack frame trace is not cached;
- record a caller-callee relationship if the last stack frame is not cached;
- and
- update a relationship map with the recorded caller-callee relationship.
A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a machine, cause the machine to:
- check a relationship map to periodically monitor a plurality of caller-callee pairs;
- determine whether a caller-callee pair of the plurality of caller-callee pairs is hot;
- recompile a caller corresponding to a hot caller-callee pair;
- and
- inline a callee corresponding to the hot caller-callee pair.
Dependencies are inferred from the claim text.