Implementing a type restriction that restricts to a singleton value or zero values

US11966798B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11966798-B2
Application numberUS-202217571359-A
CountryUS
Kind codeB2
Filing dateJan 7, 2022
Priority dateMar 19, 2021
Publication dateApr 23, 2024
Grant dateApr 23, 2024

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 type restriction contextually modifies an existing type descriptor. The type restriction is imposed on a data structure to restrict the values that are assumable by the data structure. The type restriction does not cancel or otherwise override the effect of the existing type descriptor on the data structure. Rather the type restriction may declare that a value of the data structure's type is forbidden for the data structure. Additionally or alternatively, the type restriction may declare that an element count allowable for a data structure's type is forbidden for the data structure. Type restriction allows optionality (where only a singleton value for a data structure is allowed), empty sets (where no value for a data structure is allowed), and multiplicity (where only a limited element count for a data structure) to be injected into a code set independent of data type. Type restriction allows certain optimizations to be performed.

First claim

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 command to perform at least one of: (a) create a first data structure within a first context, or (b) access the first data structure within the first context; determining that the first data structure is of a particular type; determining that the first context is associated with a type restriction restricting the first data structure from assuming any value that does not match a predetermined singleton value; wherein, in an absence of the type restriction, a value that does not match the predetermined singleton value is valid for the particular type; based on the type restriction restricting the first data structure from assuming any value that does not match the predetermined singleton value, determining that no memory space of the first data structure stores a first data value for the data structure; performing at least one of: (a) creating the first data structure, wherein creating the first data structure comprises allocating a first memory space to the first data structure, without allocating any memory space for storing the first data value for the first data structure; or (b) using the predetermined singleton value as the first data value for the first data structure, without accessing any memory space of the data structure that stores the first data value for the data structure. 2. The media of claim 1 , wherein the first memory space allocated to the first data structure stores information indicating that the type restriction applies to the first data structure. 3. The media of claim 1 , wherein the first memory space allocated to the first data structure is located within one of: an operand stack, a local variable structure, or a heap. 4. The media of claim 1 , wherein: the first command to access the first data structure comprises: a read command to read from the first data structure; using the predetermined singleton value as the first data value for the first data structure, without accessing any memory space of the data structure that stores the first data value for the data structure, comprises: returning the predetermined singleton value as the first data value for the first data structure, without accessing any memory space of the first data structure that stores the first data value. 5. The media of claim 1 , wherein: the first command to access the first data structure comprises: a write command to write a target value to the first data structure; using the predetermined singleton value as the first data value for the first data structure, without accessing any memory space of the data structure that stores the first data value for the data structure, comprises: indicating that the predetermined singleton value has been written as the first data value for the first data structure, without writing the target value to any memory space of the first data structure. 6. The media of claim 5 , wherein: indicating that the predetermined singleton value has been written as the first data value for the first data structure is responsive to determining that the target value is same as the predetermined singleton value. 7. The media of claim 1 , storing the instructions which further cause: identifying a second command to access a second data structure within the first context; wherein the first command comprises a first write command to write a first target value to the first data structure, and the second command comprises a second write command to write a second target value to the second data structure; determining that the second data structure is of the particular type; determining whether the second target value is same as the predetermined singleton value; responsive to determining that the second target value is not same as the predetermined singleton value: generating an error. 8. The media of claim 1 , wherein: the first data structure comprises a field of an object; and creating the first data structure is performed as part of creating the object. 9. The media of claim 1 , storing the instructions which further cause: identifying a second command to perform at least one of: (a) create a second data structure within a different context, or (b) access the second data structure within the different context; determining that the second data structure is of the particular type; wherein the different context is not associated with the type restriction restricting the second data structure from assuming any value that does not match the predetermined singleton value; determining a non-zero memory size of a second memory space of the second data structure that stores a second data value for the second data structure; performing at least one of: (a) creating the second data structure, wherein creating the second data structure comprises allocating the second memory space of the non-zero memory size for storing the second data value for the second data structure; or (b) accessing the second data structure based on the non-zero memory size of the second memory space of the second data structure that stores the second data value for the second data structure. 10. The media of claim 9 , wherein accessing the second data structure based on the non-zero memory size of the second memory space of the second data structure that stores the second data value for the second data structure comprises one of: writing the second data value to the second memory space; or reading the second data value from the second memory space. 11. The media of claim 9 , wherein: the first data structure comprises a field of a first object and the second data structure comprises the field of a second object; and a descriptor of the field indicates that the field is of the particular type. 12. The media of claim 9 , wherein: the first data structure comprises one of a method parameter or method return value of a method during a first execution of the method and the second data structure comprises one of the method parameter or method return value of the method during a second execution of the method; a descriptor of the method indicates that one of the method parameter or method return value of the method is of the particular type. 13. The media of claim 1 , storing the instructions which further cause: determining that the first data structure is associated with a third data structure; determining that a first value for the third data structure within the first context indicates the type restriction on the first data structure; determining that a second value for the third data structure within a different context indicates either no type restriction on the first data structure or a different type restriction on the first data structure. 14. The media of claim 13 , wherein: the third data structure is a parametric constant. 15. The media of claim 13 , wherein determining that the first data structure is associated with the third data structure comprises: determining that the first data structure is associated with a parametric attribute referring to the third data structure. 16. The media of claim 13 , wherein determining that the first data structure is associated with the third data structure comprises: determining that the first data structure is associated with a type restriction attribute referring to the third data structure. 17. One or more non-transitory computer readable media storing instructions which, when executed by one or more hardware processors, ca

Assignees

Inventors

Classifications

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Compilation · CPC title

  • G06F8/437Primary

    Type checking · CPC title

  • to perform miscellaneous control operations, e.g. NOP · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · 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 US11966798B2 cover?
A type restriction contextually modifies an existing type descriptor. The type restriction is imposed on a data structure to restrict the values that are assumable by the data structure. The type restriction does not cancel or otherwise override the effect of the existing type descriptor on the data structure. Rather the type restriction may declare that a value of the data structure's type is …
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 23 2024 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).