Patents by Inventor Vladimir Vitalyevich Ivanov

Vladimir Vitalyevich Ivanov 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).

  • Patent number: 11875168
    Abstract: Techniques for reducing overhead in native function calls are disclosed. The system may receive a method invocation instruction for invoking a particular method. The method invocation instruction includes a function descriptor, a method type, and an application binary interface (ABI) descriptor. The function descriptor includes a memory layout corresponding to any data returned by the function and memory layouts corresponding to each argument for the particular method. The system can select an ABI for processing the particular method based on the received ABI descriptor. The system can further associate each argument with a corresponding particular physical register into which the argument is to be loaded. The particular register is selected based on at least the selected ABI and the function descriptor. The system can cause a virtual machine to move each argument into the corresponding associated physical register.
    Type: Grant
    Filed: February 16, 2021
    Date of Patent: January 16, 2024
    Assignee: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov
  • Publication number: 20230057055
    Abstract: Techniques for representing a native function using an executable reference are disclosed. The system receives an instruction to create an executable reference for a native function, including a method type comprising a method signature corresponding to the executable reference, and a function description including (a) a memory layout corresponding to data returned by the function and (b) memory layouts corresponding to parameters required by the function. The system selects an application binary interface (ABI). The system generates code that, for each parameter, of the one or more parameters required by the function, converts the parameter from a value formatted for use by a Java Virtual machine to a value formatted for use in the native function, based on the selected ABI. Responsive to invocation of the executable reference, the generated code and the native function may be executed.
    Type: Application
    Filed: November 3, 2022
    Publication date: February 23, 2023
    Applicant: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov
  • Patent number: 11543976
    Abstract: Techniques for reducing unsafe memory access, particularly when interacting with native libraries, are disclosed. The system may receive a memory address. The system may determine that the received memory address is not associated with an existing memory segment. The system selects a particular memory segment, of a plurality of memory segments. The memory segment may have a length of zero and a size corresponding to a size of a native heap. The system may return a reference to the particular memory segment.
    Type: Grant
    Filed: March 15, 2021
    Date of Patent: January 3, 2023
    Assignee: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov
  • Patent number: 11513779
    Abstract: Techniques for representing a native function using an executable reference are disclosed. The system receives an instruction to create an executable reference for a native function, including a method type comprising a method signature corresponding to the executable reference, and a function description including (a) a memory layout corresponding to data returned by the function and (b) memory layouts corresponding to parameters required by the function. The system selects an application binary interface (ABI). The system generates code that, for each parameter, of the one or more parameters required by the function, converts the parameter from a value formatted for use by a Java Virtual machine to a value formatted for use in the native function, based on the selected ABI. Responsive to invocation of the executable reference, the generated code and the native function may be executed.
    Type: Grant
    Filed: March 2, 2021
    Date of Patent: November 29, 2022
    Assignee: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov
  • Publication number: 20210311628
    Abstract: Techniques for reducing unsafe memory access, particularly when interacting with native libraries, are disclosed. The system may receive a memory address. The system may determine that the received memory address is not associated with an existing memory segment. The system selects a particular memory segment, of a plurality of memory segments. The memory segment may have a length of zero and a size corresponding to a size of a native heap. The system may return a reference to the particular memory segment.
    Type: Application
    Filed: March 15, 2021
    Publication date: October 7, 2021
    Applicant: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov
  • Publication number: 20210294626
    Abstract: Techniques for reducing overhead in native function calls are disclosed. The system may receive a method invocation instruction for invoking a particular method. The method invocation instruction includes a function descriptor, a method type, and an application binary interface (ABI) descriptor. The function descriptor includes a memory layout corresponding to any data returned by the function and memory layouts corresponding to each argument for the particular method. The system can select an ABI for processing the particular method based on the received ABI descriptor. The system can further associate each argument with a corresponding particular physical register into which the argument is to be loaded. The particular register is selected based on at least the selected ABI and the function descriptor. The system can cause a virtual machine to move each argument into the corresponding associated physical register.
    Type: Application
    Filed: February 16, 2021
    Publication date: September 23, 2021
    Applicant: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov
  • Publication number: 20210294586
    Abstract: Techniques for representing a native function using an executable reference are disclosed. The system receives an instruction to create an executable reference for a native function, including a method type comprising a method signature corresponding to the executable reference, and a function description including (a) a memory layout corresponding to data returned by the function and (b) memory layouts corresponding to parameters required by the function. The system selects an application binary interface (ABI). The system generates code that, for each parameter, of the one or more parameters required by the function, converts the parameter from a value formatted for use by a Java Virtual machine to a value formatted for use in the native function, based on the selected ABI. Responsive to invocation of the executable reference, the generated code and the native function may be executed.
    Type: Application
    Filed: March 2, 2021
    Publication date: September 23, 2021
    Applicant: Oracle International Corporation
    Inventors: Maurizio Cimadamore, James Malcolm Laskey, Jorn Bender Vernee, Vladimir Vitalyevich Ivanov