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

YouTube

The Quest for Dynamic Language Performance on the JVM - Nashorn War Stories

GOTO Conferences via YouTube

Overview

Dive into a highly technical conference talk exploring the performance challenges and solutions in implementing Oracle's Nashorn project - a fully ECMAScript compliant JavaScript implementation on the JVM. Learn about the invokedynamic bytecode, a major paradigm shift in JVM specification, and its role in improving dynamic language performance. Explore topics such as JavaScript number handling, type specialization, static analysis, callsite optimization, and JVM issues. Gain insights into war stories from the development process, current performance status, and future work on Nashorn. Understand how the JVM is evolving as a polyglot runtime and the implications for dynamic language performance on this platform.

Syllabus

Introduction
What is Nashorn?
Why Nashorn?
When is Nashom available?
Let's talk about JavaScript - Numbers
Let's talk about JavaScript - Types/Numbers
Let's talk about JavaScript - Static type info
Fibonacci calculator
Callsite specialization
Type Specialization - Prove ints
Type Specialization - Prove doubles
Static range analysis-fold doubles to ints
Summary - Static analysis
Statically provable callsites for am3
We really want to use ints where we can
Using Ints, problem 1 of 2 - Overflow check
Solutions Intrinsity math operations
Continuations, you say?
JVM issues
War story: warmup
Another war story: Metaspace
Future work. JVM
Nashorn current performance status
Nashorn with optimistic types
Add JVM math intrinsics...
Patch JVM to keep more type into while
ORACLE
UPGRADETIMECODES
Introduction
What is Nashorn?
Why Nashorn?
When is Nashom available?
Let's talk about JavaScript - Numbers
Let's talk about JavaScript - Types/Numbers
Let's talk about JavaScript - Static type info
Fibonacci calculator
Callsite specialization
Type Specialization - Prove ints
Type Specialization - Prove doubles
Static range analysis-fold doubles to ints
Summary - Static analysis
Statically provable callsites for am3
We really want to use ints where we can
Using Ints, problem 1 of 2 - Overflow check
Solutions Intrinsity math operations
Continuations, you say?
JVM issues
War story: warmup
Another war story: Metaspace
Future work. JVM
Nashorn current performance status
Nashorn with optimistic types
Add JVM math intrinsics...
Patch JVM to keep more type into while
ORACLE
UPGRADE

Taught by

GOTO Conferences

Reviews

Start your review of The Quest for Dynamic Language Performance on the JVM - Nashorn War Stories

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.