-
公开(公告)号:US20190278576A1
公开(公告)日:2019-09-12
申请号:US16283429
申请日:2019-02-22
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Aleksandar Prokopec , Thomas Wuerthinger
Abstract: Optimizing program execution includes performing, to obtain an expanded call graph, an expansion of an initial call graph. The expanded call graph includes nodes. The initial call graph is defined for a program that includes a root method and a child method. The method may further include calculating a cost value and a benefit value for inlining the child method, calculating an inlining priority value as a function of the cost value and the benefit value, and inlining, based on analyzing the expanded call graph and comparing the inlining priority value to a dynamic threshold, the child method into the root method. The child method may correspond to a node in the expanded call graph.
-
公开(公告)号:US10466987B2
公开(公告)日:2019-11-05
申请号:US16283429
申请日:2019-02-22
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Aleksandar Prokopec , Thomas Wuerthinger
Abstract: Optimizing program execution includes performing, to obtain an expanded call graph, an expansion of an initial call graph. The expanded call graph includes nodes. The initial call graph is defined for a program that includes a root method and a child method. The method may further include calculating a cost value and a benefit value for inlining the child method, calculating an inlining priority value as a function of the cost value and the benefit value, and inlining, based on analyzing the expanded call graph and comparing the inlining priority value to a dynamic threshold, the child method into the root method. The child method may correspond to a node in the expanded call graph.
-
公开(公告)号:US10261765B1
公开(公告)日:2019-04-16
申请号:US15917482
申请日:2018-03-09
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Aleksandar Prokopec , Thomas Wuerthinger
Abstract: Optimizing program execution includes performing, to obtain a first expanded call graph, a first expansion of an initial call graph. The first initial call graph is defined for a program that includes a root method, a first child method, and a second child method. Based on an analysis of the first expanded call graph, the first child method, corresponding to a node in the first expanded call graph, is inlined into the root method. An optimization operation is performed in response to inlining the child method, and the first expanded call graph is updated based on the optimization operation. A second expansion of the updated call graph is performed. Based on an analysis of the second expanded call graph, the second child method is inlined into the root method, where the second child method corresponds to a node in the second expanded call graph. Compilation of the program is completed.
-
-