Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Lambda Forms in Java - Method Handles and Bytecode Rendering

Java via YouTube

Overview

Explore the intricacies of Lambda Forms in Java with John Rose in this 45-minute conference talk. Delve into Method Handles in JDK 7, examining their good, not-so-good, and ugly aspects. Learn about rendering Method Handles to bytecodes, JVM entanglement and dis-entanglement, and key IR requirements. Discover the Lambda Form IR, its type system, and execution process. Examine practical examples including argument swapping, constant value returns, and direct method handle operations. Gain insights into metacircularity, bytecode call sites for JSR 292, and function composition. Conclude with an overview of the current status and future work in this area of Java development.

Syllabus

Intro
Method Handles in JDK 7: The Good
Method Handles in JDK 7: Not-so-good
Method Handles in JDK 7: The Ugly
Rendering MHs to bytecodes (JDK 7)
Bytecode rendering only for constants
JVM Entanglement
JVM Dis-entanglement
Key IR requirements
Inspiration
Lambda Form IR (in one page)
LF type system
What's in a Name?
Lambda Form Execution
Lambda Form AST interpreter
Lazy Method Handle interpretation
Example 1: swap arguments
Bound Method Handles
Example 1B: swap arguments
Example 2B: return a constant value
Direct Method Handles
Direct Method Handle "Linkers"
call a regular method
Metacircularity (bootstrapping)
Bytecode call sites for JSR 292
Linking MH. invokeExact
Linking invokedynamic
function composition
Status
Future work

Taught by

Java

Reviews

Start your review of Lambda Forms in Java - Method Handles and Bytecode Rendering

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.