Identifying permitted illegal access operations in a module system
US-2018268158-A1 · Sep 20, 2018 · US
US12417133B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12417133-B2 |
| Application number | US-202217571340-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 7, 2022 |
| Priority date | Mar 19, 2021 |
| Publication date | Sep 16, 2025 |
| Grant date | Sep 16, 2025 |
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.
A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.
Opening claim text (preview).
What is claimed is: 1. One or more non-transitory computer readable media storing instructions which, when executed by one or more hardware processors, cause: identifying a first call to a first application programming interface (API) point; determining that the first call to the first API point is made in association with a first selector value; determining that the first API point depends on a parametric constant; and executing a bootstrap method corresponding to the parametric constant, wherein executing the bootstrap method comprises: determining whether the first selector value is valid with respect to the parametric constant; responsive to determining that the first selector value is valid with respect to the parametric constant; returning a first anchor value based on the first selector value; and storing the first anchor value as a first resolved value for a first resolution state of the parametric constant. 2. The media of claim 1 , further storing instructions which cause: determining whether the first selector value matches any resolved value for any resolution state of the parametric constant; and wherein executing the bootstrap method is responsive to determining that the first selector value does not match any resolved value for any resolution state of the parametric constant. 3. The media of claim 1 , further storing instructions which cause: determining that an operand associated with the first call to the first API point comprises a particular constant, wherein the first call is made from a caller type; and storing, as a second resolved value for a second resolution state of the particular constant, (a) information indicating the first API point and (b) information indicating the first anchor value. 4. The media of claim 1 , wherein: the first API point is a type; the first anchor value indicates one or more of: a first memory layout associated with a specialized type that is the type specialized based on the first anchor value; a first memory size associated with the specialized type; and an object that represents the specialized type. 5. The media of claim 1 , wherein: the first API point is a field; one or more of a type and a supertype of the type defines the field; one or more of the type and the supertype of the type specifies that an unspecialized type is associated with the field; and the field is of a specialized type that is the unspecialized type specialized based on the first anchor value. 6. The media of claim 5 , wherein: the first anchor value indicates a type restriction on the field; and the type restriction prohibits a value, which is valid for the unspecialized type, for the field. 7. The media of claim 1 , wherein: the first API point is a method; one or more of a type and a supertype of the type defines the method; one or more of the type and the supertype of the type specifies that an unspecialized type is associated with one or more of a method parameter and a method return value of the method; and one or more of the method parameter and the method return value is of a specialized type that is the unspecialized type specialized based on the first anchor value. 8. The media of claim 7 , wherein: the first anchor value indicates a type restriction on one or more of the method parameter and the method return value; and the type restriction prohibits a value, which is valid for the unspecialized type, for one or more of the method parameter and the method return value. 9. The media of claim 1 , wherein the first anchor value indicates the first selector value. 10. The media of claim 1 , wherein: the first anchor value indicates a default anchor value for the parametric constant; the default anchor value is determined during preparation of a type defining the parametric constant; and the first anchor value is determined (a) subsequent to the preparation of the type defining the parametric constant and (b) responsive to the first call to the first API point. 11. The media of claim 1 , further storing instructions which cause: executing the first API point, responsive to the first call to the first API point, based on the first anchor value. 12. The media of claim 1 , wherein determining that the first API point depends on the parametric constant comprises: determining that the first API point is associated with a parametric attribute comprising a parametric constant reference; and determining that the parametric constant reference indicates the parametric constant. 13. The media of claim 1 , wherein: the first call to the first API point comprises an instruction and an operand; the operand is a linkage constant that is in an unresolved state; and an information structure for the linkage constant indicates the first API point and the first selector value. 14. The media of claim 13 , further storing instructions comprising: resolving a symbolic reference to the first API point prior to resolving the linkage constant. 15. The media of claim 13 , further storing instructions which cause: storing a second resolved value for a second resolution state of the linkage constant that indicates the first anchor value. 16. The media of claim 1 , further storing instructions which cause: identifying a second call to the first API point, wherein the second call to the first API point is made in association with a second selector value different than the first selector value; and executing the bootstrap method associated with the parametric constant, wherein executing the bootstrap method comprises: determining whether the second selector value is valid with respect to the parametric constant; responsive to determining that the second selector value is valid with respect to the parametric constant; returning a second anchor value based on the second selector value; storing the second anchor value as a second resolved value for a second resolution state of the parametric constant; wherein the first selector value and the second selector value are different; and wherein the first anchor value and the second anchor value are different. 17. The media of claim 1 , further storing instructions which cause: identifying a second call to the first API point, wherein the second call to the first API point is made in association with a second selector value different than the first selector value; determining that the first resolution state of the parametric constant, of a plurality of resolution states of the parametric constant, is further associated with the second selector value; and executing the first API point, responsive to the second call to the first API point, based on the first anchor value that is the first resolved value for the first resolution state of the parametric constant. 18. The media of claim 1 , further storing instructions which cause: identifying a second call to a second API point, wherein the second call to the second API point is made in association with the first selector value; determining that the second API point depends on the parametric constant; determining that the first resolution state of the parametric constant is associated with the first selector value; and executing the second API point, responsive to the second call to the second API point, based on the first anchor value that is the first resolved value for the first resolution state of the parametric constant. 19. The media of claim 1 , wherein the first anchor value is not accessible by a callee type making the first call to the first API
Object-oriented · CPC title
Runtime code conversion or optimisation · CPC title
Free address space management · CPC title
Execution arrangements for user interfaces · CPC title
to perform miscellaneous control operations, e.g. NOP · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.