Speculation-restricted memory region type
US-2021240619-A1 · Aug 5, 2021 · US
US11645129B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11645129-B2 |
| Application number | US-202217571323-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 7, 2022 |
| Priority date | Mar 19, 2021 |
| Publication date | May 9, 2023 |
| Grant date | May 9, 2023 |
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 data structure (e.g., field, method parameter, or method return value) is defined by a descriptor to be of a particular type, which imposes a first set of restrictions on values assumable by the data structure. Separately, the data structure is associated with a type restriction that defines a second set of restrictions that further restricts the values assumable by the data structure. The descriptor and type restriction are encoded separately in a program binary. Responsive to identifying a value for the data structure that (a) is not forbidden by the first set of restrictions defined the descriptor and (b) is forbidden by the second set of restrictions defined by the type restriction, a runtime environment may perform a restrictive operation, such as: blocking storage of the value to a field; blocking passing of the value to a method parameter; or blocking return of the value from a method.
Opening claim text (preview).
What is claimed is: 1. One or more non-transitory computer readable storage media comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: identifying a particular type that is (a) defined by a descriptor that defines a first set of restrictions for values of objects of the particular type and (b) corresponds to one of: a field type, a method parameter type or a method return type; receiving, at a managed runtime environment, a type restriction that defines a second set of restrictions that further restricts the values of objects of the particular type; encoding, by the managed runtime environment in a program binary, the type restriction separately from the descriptor to apply the second set of restrictions in addition to the first set of restrictions for the values of objects of the particular type; responsive to identifying a value for the particular type that (a) is not forbidden by the first set of restrictions defined by the descriptor of the particular type and (b) is forbidden by the second set of restrictions defined by the type restriction: performing a restrictive operation comprising one or more of: blocking storage of the value to a field; blocking passing of the value to a method parameter; or blocking return of the value from a method. 2. The medium of claim 1 , wherein the type restriction is configurable in (a) an effective configuration such that the second set of restrictions is applied to the values of objects of the particular type and (b) an ineffective configuration such that the second set of restrictions is not applied to the values of objects of the particular type. 3. The medium of claim 1 , wherein the type restriction is received together with type specialization data. 4. The medium of claim 1 , wherein the type restriction is received at compile time. 5. The medium of claim 1 , wherein the descriptor is received at a first time, and the type restriction is received at second time following the first time. 6. The medium of claim 1 , the operations further comprising: determining that the type restriction is configured in an effective configuration state, wherein performing the restrictive operation is performed in response to determining that the type restriction is configured in the effective configuration state. 7. The medium of claim 1 , wherein performing the restrictive operation comprises performing one or more of: aborting an operation that includes the identified value; altering the operation that includes the identified value to make the operation a no-op; completing the operation that includes the identified value by replacing the identified value with a value that complies with the second set of restrictions; or emitting a diagnostic message. 8. A method comprising: identifying a particular type that is (a) defined by a descriptor that defines a first set of restrictions for values of objects of the particular type and (b) corresponds to one of: a field type, a method parameter type or a method return type; receiving, at a managed runtime environment, a type restriction that defines a second set of restrictions that further restricts the values of objects of the particular type; encoding, by the managed runtime environment in a program binary, the type restriction separately from the descriptor to apply the second set of restrictions in addition to the first set of restrictions for the values of objects of the particular type; responsive to identifying a value for the particular type that (a) is not forbidden by the first set of restrictions defined by the descriptor of the particular type and (b) is forbidden by the second set of restrictions defined by the type restriction: performing a restrictive operation comprising one or more of: blocking storage of the value to a field; blocking passing of the value to a method parameter; or blocking return of the value from a method, wherein the method is performed by at least one device including a hardware processor. 9. The method of claim 8 , wherein the type restriction is configurable in (a) an effective configuration such that the second set of restrictions is applied to the values of objects of the particular type and (b) an ineffective configuration such that the second set of restrictions is not applied to the values of objects of the particular type. 10. The method of claim 8 , wherein the type restriction is received together with type specialization data. 11. The method of claim 8 , wherein the type restriction is received at compile time. 12. The method of claim 8 , wherein the descriptor is received at a first time, and the type restriction is received at second time following the first time. 13. The method of claim 8 , further comprising: determining that the type restriction is configured in an effective configuration state, wherein performing the restrictive operation is performed in response to determining that the type restriction is configured in the effective configuration state. 14. The method of claim 8 , wherein performing the restrictive operation comprises performing one or more of: aborting an operation that includes the identified value; altering the operation that includes the identified value to make the operation a no-op; completing the operation that includes the identified value by replacing the identified value with a value that complies with the second set of restrictions; or emitting a diagnostic message. 15. A system comprising: at least one device including a hardware processor; the system being configured to perform operations by the at least one device comprising: identifying a particular type that is (a) defined by a descriptor that defines a first set of restrictions for values of objects of the particular type and (b) corresponds to one of: a field type, a method parameter type or a method return type; receiving, at a managed runtime environment, a type restriction that defines a second set of restrictions that further restricts the values of objects of the particular type; encoding, by the managed runtime environment in a program binary, the type restriction separately from the descriptor to apply the second set of restrictions in addition to the first set of restrictions for the values of objects of the particular type; responsive to identifying a value for the particular type that (a) is not forbidden by the first set of restrictions defined by the descriptor of the particular type and (b) is forbidden by the second set of restrictions defined by the type restriction: performing a restrictive operation comprising one or more of: blocking storage of the value to a field; blocking passing of the value to a method parameter; or blocking return of the value from a method. 16. The system of claim 15 , wherein the type restriction is configurable in (a) an effective configuration such that the second set of restrictions is applied to the values of objects of the particular type and (b) an ineffective configuration such that the second set of restrictions is not applied to the values of objects of the particular type. 17. The system of claim 15 , wherein the type restriction is received together with type specialization data. 18. The system of claim 15 , wherein the descriptor is received at a first time, and the type restriction is received at second time following the first time. 19. The system of claim 15 , the operations further comprising: determini
Runtime code conversion or optimisation · CPC title
Type checking · CPC title
Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title
User-Defined Types; Storage management thereof · CPC title
Execution arrangements for user interfaces · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.