System and method for retrieving values of captured local variables for lambda functions in Java

US9798569B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9798569-B2
Application numberUS-201615043695-A
CountryUS
Kind codeB2
Filing dateFeb 15, 2016
Priority dateFeb 15, 2016
Publication dateOct 24, 2017
Grant dateOct 24, 2017

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 system for and method of retrieving values of captured local variables for a lambda function in Java. In one embodiment, the system includes: (1) a Java virtual machine and (2) a captured variable retriever that interacts with the Java virtual machine and configured to retrieve a signature of the lambda function from a classfile of a Java class containing the lambda function, compare the signature with a declaration of the lambda function to identify arguments corresponding to the captured local variables, modify the lambda function and cause the Java virtual machine to execute the modified lambda function.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for retrieving a value of a captured local variable for a lambda function in Java, comprising: a Java virtual machine executed on a host processor; and a captured variable retriever that interacts with said Java virtual machine and configured to retrieve a signature of said lambda function from a classfile of a Java class containing said lambda function, compare said signature with a declaration of said lambda function to identify an argument corresponding to said captured local variable, modify said lambda function using said argument and cause said Java virtual machine to execute said modified lambda function with a null value passed to each corresponding formal parameter of said lambda function. 2. The system as recited in claim 1 wherein said captured variable retriever is further configured to retrieve and return a value of said argument when said Java virtual machine executes said modified lambda function and set said captured local variable to said value. 3. The system as recited in claim 1 wherein said captured variable retriever is further configured to pass said lambda function along with value of said captured local variable to a compiler that compiles said lambda function into an intermediate representation. 4. The system as recited in claim 3 wherein said captured variable retriever is further configured to invoke an optimizer that optimizes said intermediate representation and generates code that can execute on a device. 5. The system as recited in claim 4 wherein said device is a graphics processing unit. 6. The system as recited in claim 1 wherein said lambda function includes multiple captured local variables and said captured variable retriever is configured to retrieve values of all said multiple captured local variables. 7. A method of retrieving a value of a captured local variable for a lambda function in Java, comprising: retrieving a signature of said lambda function from a classfile of a Java class containing said lambda function; comparing said signature with a declaration of said lambda function to identify an argument corresponding to said captured local variable; modify said lambda function using said argument; and causing a Java virtual machine to execute said modified lambda function with a null value passed to each corresponding formal parameter of said lambda function. 8. The method as recited in claim 7 wherein said causing comprises: retrieving and returning a value of said argument; and setting said captured local variable to said value. 9. The method as recited in claim 7 further comprising passing said lambda function along with value of said captured local variable to a compiler that compiles said lambda function into an intermediate representation. 10. The method as recited in claim 9 further comprising invoking an optimizer to optimize said intermediate representation and generate code that can execute on a device. 11. The method as recited in claim 10 wherein said device is a graphics processing unit. 12. The method as recited in claim 7 wherein said lambda function includes multiple captured local variables and said method further comprises retrieving values of all said multiple captured local variables.

Assignees

Inventors

Classifications

  • Runtime code conversion or optimisation · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • Creating, deleting, cloning virtual machine instances · CPC title

  • Hypervisor-specific management and integration aspects · 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 US9798569B2 cover?
A system for and method of retrieving values of captured local variables for a lambda function in Java. In one embodiment, the system includes: (1) a Java virtual machine and (2) a captured variable retriever that interacts with the Java virtual machine and configured to retrieve a signature of the lambda function from a classfile of a Java class containing the lambda function, compare the sign…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/45516. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2017 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).