YoVDO

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

Offered By: GOTO Conferences via YouTube

Tags

GOTO Conferences Courses Javascript Courses Static Analysis Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Related Courses

Addressing Algorithmic Bias
GOTO Conferences via YouTube
Empowering Consumers - Evolution of Software in the Future
GOTO Conferences via YouTube
Why Static Typing Came Back
GOTO Conferences via YouTube
Higher Kinded Types in a Lower Kinded Language - Functional Programming in Kotlin
GOTO Conferences via YouTube
It's Not Hard to Test Smart - Delivering Customer Value Faster
GOTO Conferences via YouTube