Patents by Inventor Robert Rose

Robert Rose has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20220300360
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300264
    Abstract: A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Maurizio Cimadamore, Brian Goetz
  • Publication number: 20220300352
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300475
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300263
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: Daniel Lee Smith, John Robert Rose, Brian Goetz, Frederic Parain
  • Publication number: 20220300359
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300298
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300361
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300299
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300476
    Abstract: 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.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz
  • Publication number: 20220300260
    Abstract: A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.
    Type: Application
    Filed: January 7, 2022
    Publication date: September 22, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Maurizio Cimadamore, Brian Goetz
  • Patent number: 11366684
    Abstract: In one approach, an import mechanism allows new hardware intrinsics to be utilized by writing or updating a library of source code, rather than specifically modifying the virtual machine for each new intrinsic. Thus, once the architecture is in place to allow the import mechanism to function, the virtual machine itself (e.g. the code which implements the virtual machine) no longer needs to be modified in order to allow new intrinsics to be utilized by end user programmers. Since source code is typically more convenient to write than the language used to implement the virtual machine and the risk of miscoding the virtual machine is minimized when introducing new intrinsics, the import mechanism described herein increases the efficiency at which new hardware intrinsics can be introduced.
    Type: Grant
    Filed: March 24, 2020
    Date of Patent: June 21, 2022
    Assignee: Oracle International Corporation
    Inventors: John Robert Rose, Vladimir Ivanov
  • Patent number: 11347487
    Abstract: A module (m1) is allowed to gain private reflective access to any class in any module (C2 in m2), if and only if m2 grants to m1 deep reflective access for C2. A caller class may invoke a method to generate a second lookup object associated with a second principal class based on a first lookup object associated with a first principal class. The method is successfully executed only if (a) an access mode of the first lookup object allows for teleporting with private reflective access and (b) a module including the second principal class grants to a module including the first principal class deep reflective access for the second principal class. The second lookup object drops the access mode allowing for teleporting with private reflective access. Hence reflective access is confined within the limits imposed by module boundaries, as relaxed by access agreements between pairs of modules. The bilateral agreements are not transferable to other modules.
    Type: Grant
    Filed: November 21, 2019
    Date of Patent: May 31, 2022
    Assignee: Oracle International Corporation
    Inventors: Lai Hung Mandy Chung, John Robert Rose, Alan Bateman
  • Patent number: 11314490
    Abstract: In one approach, a method comprises: a virtual machine receiving an invocation instruction from a caller that invokes a callee, wherein the caller represents a first set of instructions and the callee represents a second set of instructions, wherein the invocation instruction is associated with a first set of arguments; in response to receiving the invocation instruction and determining that the callee requires one or more additional parameters to be supplied by the virtual machine, the virtual machine causing the one or more additional parameters to be appended to the first set of arguments to create a second set of arguments; wherein the virtual machine prevents the caller from providing the one or more additional arguments that are to be supplied by the virtual machine; the virtual machine invoking the callee using the second set of arguments.
    Type: Grant
    Filed: February 14, 2020
    Date of Patent: April 26, 2022
    Assignee: Oracle International Corporation
    Inventor: John Robert Rose
  • Patent number: 11299500
    Abstract: This invention relates to a crystalline form of (10R)-7-amino-12-fluoro-2,10,16-trimethyl-15-oxo-10,15,16,17-tetrahydro-2H-8,4-(metheno)pyrazolo[4,3-h][2,5,11]benzoxadiazacyclo-tetradecine-3-carbonitrile (lorlatinib) free base hydrate (Form 24). This invention also relates to pharmaceutical compositions comprising Form 24, and to methods of using Form 24 and such compositions in the treatment of abnormal cell growth, such as cancer, in a mammal.
    Type: Grant
    Filed: October 4, 2018
    Date of Patent: April 12, 2022
    Assignee: Pfizer Inc.
    Inventors: Paul Bowles, Peter Robert Rose
  • Publication number: 20220107840
    Abstract: Techniques for computing and storing object identity hash values are disclosed. In some embodiments, a runtime system generates a value, such as a nonce, that is unique to a particular allocation region within memory. The runtime system may mix the value with one or more seed values that are associated with one or more respective objects stored in the allocation region. The runtime system may obtain object identifiers for the respective objects by applying a hash function to the result of mixing the seed value with at least the value associated with the allocation region. Conditioning operations may also be applied before, during or after the mixing operations to make the values appear more random. The nonce value may be changed from time to time, such as when memory is recycled in the allocation region, to reduce the risk of hash collisions.
    Type: Application
    Filed: October 7, 2020
    Publication date: April 7, 2022
    Applicant: Oracle International Corporation
    Inventors: John Robert Rose, Mikael Vidstedt, Erik Österlund
  • Publication number: 20210387989
    Abstract: The present invention discloses a novel p-toluenesulfonic acid salt and a crystalline polymorphic Form 1 of said salt of 1-((2S,5R)-5-((7H-pyrrolo[2,3-d]pyrimidin-4-yl)amino)-2-methylpiperidin-1-yl)prop-2-en-1-one, pharmaceutical composition containing the same, as well as preparations and uses thereof. The present invention also discloses a novel phosphoric acid salt of 1-((2S,5R)-5-((7H-pyrrolo[2,3-d]pyrimidin-4-yl)amino)-2-methylpiperidin-1-yl)prop-2-en-1-one, pharmaceutical composition containing the same, as well as preparations and uses thereof.
    Type: Application
    Filed: October 21, 2019
    Publication date: December 16, 2021
    Applicant: Pfizer Inc.
    Inventors: Brian Matthew SAMAS, Yong TAO, Douglas James Critcher, David Sydney Bernard Daniels, Kevin Paul Girard, Gregory Scott Goeken, Peter Robert Rose
  • Patent number: 11175896
    Abstract: In one approach, a method comprises receiving one or more higher-level instructions specifying to assign a value of a particular value type to a particular container of a plurality of containers, wherein the plurality of containers represent a data structure for maintaining one or more variables during execution of a block of code, wherein at least two containers of the plurality of containers are different sizes; generating one or more lower-level instructions that assign the value to the particular container based on applying one or more assignment rules to the one or more higher-level instructions based on the particular value type and executing the one or more lower-level instructions.
    Type: Grant
    Filed: April 15, 2019
    Date of Patent: November 16, 2021
    Assignee: Oracle International Corporation
    Inventors: John Robert Rose, Brian Goetz, Guy Steele
  • Publication number: 20210233531
    Abstract: This application is directed to a speaker device having a rounded enclosure. The rounded enclosure includes two housing elements that are coupled to each other and have a substantially continuous transition. The rounded enclosure has a circular cross section defined by a first radius. A first housing element includes and extends past the circular cross section, and a second housing element has a second maximum radius that is smaller than the first radius. A speaker unit and a circuit board are arranged within the rounded enclosure. The circuit board is electrically coupled to the speaker unit. At least a portion of the first housing element includes perforations configured to enable transmission of sound generated by the speaker unit out of the speaker device. The second housing element has a power connector that is electrically coupled to the circuit board and is configured to receive power from an external power supply.
    Type: Application
    Filed: April 14, 2021
    Publication date: July 29, 2021
    Applicant: Google LLC
    Inventors: Frédéric Heckmann, Yau-Shing Lee, Robert Rose, Jun Hou, Patanjali Sastry Peri, Phanindraja Ancha
  • Patent number: 11030105
    Abstract: According to one technique, a virtual machine generates an object configured to provide secure access to memory through one or more memory fencing operations. Through the object, the virtual machine receives a call that indicates a memory location and specifies a particular memory fencing operation of the one or more memory fencing operations to perform with respect to the memory location. The virtual machine causes performance of the particular memory fencing operation with respect to the memory location.
    Type: Grant
    Filed: April 7, 2015
    Date of Patent: June 8, 2021
    Assignee: Oracle International Corporation
    Inventors: Paul Sandoz, Brian Goetz, John Robert Rose