Dynamic optimizers for object-oriented languages collect a variety of profile data to drive optimization decisions. In particular, the dynamic call graph (DCG) informs key structural optimizations such as which methods to optimize and how to optimize them. Unfortunately, current low-overhead call-stack hardware and software sampling methods are subject to sampling bias, which loses accuracy of 40 to 50% when compared with a perfect call graph. This paper introduces DCG correction, a novel approach that uses static and dynamic control-flow graphs (CFGs) to improve DCG accuracy. We introduce the static frequency dominator (FDOM) relation, which extends the dominator relation on the CFG to capture relative execution frequencies and expose stat...
Inlining is an important optimization that can lead to significant runtime improvements. When decidi...
Call graphs are fundamental for advanced, interprocedural control flow and data flow analysis tasks....
Data flow analysis based on an incremental approach may require that the dominator tree be correctly...
marnold,groved us.ibm.com Due to the high dynamic frequency of virtual method calls in typical obje...
Static analysis requires the full knowledge of the overall program structure. The structure of a pro...
International audienceStatic analysis requires the full knowledge of the overall program structure. ...
Dynamically-dispatched calls often limit the performance of object-oriented programs since object-or...
This paper presents the description of a possible way to build the universal linearized control flow...
Existing methods of for call graph profiling, such as that used by gprof, deal badly with programs ...
JavaScript has seen an increase in popularity in the last few years, both in the browser as well as ...
While working with software that are complex, representation in visual forms improves the understand...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
This paper presents dynamic feedback, a technique that enables computations to adapt dynamically to ...
Abstract: Object-oriented programs are difficult to optimize because they execute many dynamically-d...
A variety of applications have arisen where it is worthwhile to apply code optimizations directly to...
Inlining is an important optimization that can lead to significant runtime improvements. When decidi...
Call graphs are fundamental for advanced, interprocedural control flow and data flow analysis tasks....
Data flow analysis based on an incremental approach may require that the dominator tree be correctly...
marnold,groved us.ibm.com Due to the high dynamic frequency of virtual method calls in typical obje...
Static analysis requires the full knowledge of the overall program structure. The structure of a pro...
International audienceStatic analysis requires the full knowledge of the overall program structure. ...
Dynamically-dispatched calls often limit the performance of object-oriented programs since object-or...
This paper presents the description of a possible way to build the universal linearized control flow...
Existing methods of for call graph profiling, such as that used by gprof, deal badly with programs ...
JavaScript has seen an increase in popularity in the last few years, both in the browser as well as ...
While working with software that are complex, representation in visual forms improves the understand...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
This paper presents dynamic feedback, a technique that enables computations to adapt dynamically to ...
Abstract: Object-oriented programs are difficult to optimize because they execute many dynamically-d...
A variety of applications have arisen where it is worthwhile to apply code optimizations directly to...
Inlining is an important optimization that can lead to significant runtime improvements. When decidi...
Call graphs are fundamental for advanced, interprocedural control flow and data flow analysis tasks....
Data flow analysis based on an incremental approach may require that the dominator tree be correctly...