Overview
Explore VM design choices in this comprehensive talk from the 2015 JVM Language Summit. Delve into interpreter options, optimization strategies, garbage collection approaches, and multithreading considerations. Learn about atomic operations, native calls, safe points, debugging flags, and the Java Memory Model. Examine topics like inline caching, HotSpot, Azul, thread-local storage, and transactional memory. Gain insights into safepoints, adapter frames, inlining constant OOPs, and object locking as presented by Cliff Click, offering valuable knowledge for language designers, compiler writers, tool builders, runtime engineers, and VM architects.
Syllabus
Intro
The nature of this talk
Choices to make
Obvious choices
Interpreter choices
Optimization choices
Stage Zero Jets
GC Choices
Safe Points vs Stop Anywhere
Multithreading
Atomic Operations
Native Calls
Native oops
Hiding oops
Stack Crawls
Active GC
Night Calling Convention
Native Call
Safe Points
Heavyweight
Debugging Flags
Thin Locks
Java Memory Model
Deopt
Inline Cache
HotSpot
Azula
TLB
ThreadLocal Storage
Transactional Memory
Safepoints
Adapter frames vs Frame adapters
Inlining constant OOP
Locking objects
Taught by
Java