Dynamically-imposed field and method type restrictions for managed execution environments

US11645129B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11645129-B2
Application numberUS-202217571323-A
CountryUS
Kind codeB2
Filing dateJan 7, 2022
Priority dateMar 19, 2021
Publication dateMay 9, 2023
Grant dateMay 9, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Runtime code conversion or optimisation · CPC title

  • G06F8/437Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11645129B2 cover?
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 de…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F8/437. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 09 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).