Context-aware inlining based on hybrid profiling
AssigneeOracle International Corporation
InventorsMaja VUKASOVIC, Boris SPASOJEVIC, Aleksandar PROKOPEC
Life of this patent
Estimating the term…
Abstract
A method implements generating a sampling profile and an instrumentation profile from source code. The method involves identifying a hot subroutine from the source code with the sampling profile. The method further involves executing a hot modifier process with the hot subroutine and one or more of the sampling profile and the instrumentation profile to generate a hot compilation unit. The method further involves executing a cold modifier process with a cold subroutine from the source code and the instrumentation profile to generate a cold compilation unit. The method further involves incorporating the hot compilation unit and the cold compilation unit into a modified compilation schedule.
Claims20
A method comprising:
- generating a sampling profile and an instrumentation profile from source code;
- identifying a hot subroutine, from the source code, with the sampling profile;
- executing a hot modifier process with the hot subroutine and one or more of the sampling profile and the instrumentation profile to generate a hot compilation unit;
- executing a cold modifier process with a cold subroutine, from the source code, and the instrumentation profile to generate a cold compilation unit;
- and
- incorporating the hot compilation unit and the cold compilation unit into a modified compilation schedule.
A system comprising:
- at least one computer processor;
- and
- an application that, when executing on the at least one computer processor, performs operations comprising:
- generating a sampling profile and an instrumentation profile from source code,
- identifying a hot subroutine, from the source code, with the sampling profile,
- executing a hot modifier process with the hot subroutine and one or more of the sampling profile and the instrumentation profile to generate a hot compilation unit,
- executing a cold modifier process with a cold subroutine, from the source code, and the instrumentation profile to generate a cold compilation unit, and
- incorporating the hot compilation unit and the cold compilation unit into a modified compilation schedule.
A non-transitory computer readable medium comprising instructions executable by at least one computer processor to perform:
- generating a sampling profile and an instrumentation profile from source code;
- identifying a hot subroutine, from the source code, with the sampling profile;
- executing a hot modifier process with the hot subroutine and one or more of the sampling profile and the instrumentation profile to generate a hot compilation unit;
- executing a cold modifier process with a cold subroutine, from the source code, and the instrumentation profile to generate a cold compilation unit;
- and
- incorporating the hot compilation unit and the cold compilation unit into a modified compilation schedule.
Dependencies are inferred from the claim text.