Reload ordering for executable code modules
US-11409508-B1 · Aug 9, 2022 · US
US12578939B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12578939-B2 |
| Application number | US-202318464636-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 11, 2023 |
| Priority date | Sep 11, 2023 |
| Publication date | Mar 17, 2026 |
| Grant date | Mar 17, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Aspects of the present disclosure relate to split-scalarization of thread-local objects in optimized object code. A computer-implemented method includes receiving source code including a programmed method and a reference within the programmed method that accesses a field of an object. Then, the method includes determining that the field of the object is scalarizable over a region of the programmed method and performing scalarization of the field of the object over the region of the programmed method. Finally, the method includes outputting optimized object code with the field of the object scalarized over the region of the programmed method and with another field of the object unscalarized in a different region of the programmed method.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method, comprising: receiving, by a processor set, source code including at least one programmed method and at least one reference within the at least one programmed method that accesses at least one field of at least one object; determining, by the processor set, that the at least one object is local to a thread without reference to the at least one object outside the thread and that the at least one field of the at least one object is scalarizable over a region of the at least one programmed method; performing, by the processor set, scalarization of the at least one field of the at least one object over the region of the at least one programmed method; and outputting, by the processor set, optimized object code with the at least one field of the at least one object scalarized over the region of the at least one programmed method and with another field of the at least one object unscalarized in a different region of the at least one programmed method. 2 . The computer-implemented method of claim 1 , further comprising identifying that the at least one object is a thread-local object. 3 . The computer-implemented method of claim 2 , wherein the identifying comprises performing inter-procedural analysis of the at least one programmed method. 4 . The computer-implemented method of claim 1 , further comprising identifying that the at least one object is referenced by local variables with singleton points-to sets. 5 . The computer-implemented method of claim 4 , wherein the identifying comprises performing points-to analysis that identifies a set of objects the local variables can point to. 6 . The computer-implemented method of claim 1 , wherein the determining comprises determining that the at least one object is not accessed via a field of another object. 7 . The computer-implemented method of claim 1 , further comprising determining that the another field of the at least one object is not scalarizable in the different region of the at least one programmed method. 8 . The computer-implemented method of claim 1 , further comprising determining that a cost of scalarizing the at least one field of the at least one object does not exceed a cost of not scalarizing the at least one field. 9 . The computer-implemented method of claim 8 , wherein the determining comprises determining that the at least one field is accessed at least twice. 10 . The computer-implemented method of claim 1 , further comprising determining that a cost of scalarizing the another field of the at least one object exceeds a cost of not scalarizing the another field. 11 . The computer-implemented method of claim 1 , wherein the determining comprises identifying critical points comprising a start-point and a set of endpoints for the at least one object within the at least one programmed method. 12 . The computer-implemented method of claim 11 , wherein the identifying comprises identifying a critical predecessor set for the set of endpoints of the critical points. 13 . A computer program product comprising one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to: receive source code including at least one programmed method and at least one reference within the at least one programmed method that accesses at least one field of at least one object; identify critical points comprising a start-point and a set of endpoints for the at least one object within the at least one programmed method; identify a critical predecessor set for the set of endpoints of the critical points of the at least one object within the at least one programmed method; determine that the at least one object is local to a thread without reference to the at least one object outside the thread and that at least one field access of the at least one object in the critical predecessor set of the at least one programmed method is scalarizable; perform scalarization of the at least one field access of the at least one object in the critical predecessor set of the at least one programmed method; and output optimized object code with the at least one field access of the at least one object scalarized in the critical predecessor set of the at least one programmed method and with another field access of the at least one object not scalarized in the at least one programmed method that is not in the critical predecessor set in the at least one programmed method. 14 . The computer program product of claim 13 , wherein the program instructions are further executable to determine that a cost of scalarizing the at least one field access of the at least one object in the critical predecessor set of the at least one programmed method does not exceed a cost of not scalarizing the at least one field access. 15 . The computer program product of claim 13 , wherein the determining comprises determining that the another field access of the at least one object not in the critical predecessor set is not scalarizable. 16 . The computer program product of claim 13 , wherein the determining comprises: determining the another field access is not thread-escaping; determining the another field access is not referenced by local variables with non-singleton points-to sets; and determining the another field access is not accessed via a field of another object. 17 . A system comprising: a processor set, a computer readable memory, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to: receive source code including at least one programmed method and at least one reference within the at least one programmed method that accesses at least one field of at least one object; determine that the at least one object is local to a thread without reference to the at least one object outside the thread and that the at least one field of the at least one object is scalarizable over a region of the at least one programmed method; determine that a cost of scalarizing the at least one field of the at least one object does not exceed a cost of not scalarizing the at least one field; perform scalarization of the at least one field of the at least one object over the region of the at least one programmed method; and output optimized object code with the at least one field of the at least one object scalarized over the region of the at least one programmed method and with another field of the at least one object unscalarized in a different region of the at least one programmed method. 18 . The system of claim 17 , wherein the program instructions are further executable to identify that the another field of the at least one object is a thread-escaping. 19 . The system of claim 17 , wherein the program instructions are further executable to identify that the another field of the at least one object is referenced by local variables with non-singleton points-to sets. 20 . The system of claim 17 , wherein the program instructions are further executable to identify that the another field of the at least one object is accessed via a field of another object.
Related publications grouped by family.
Answers are generated from the same data shown on this page.