Compiling Java Bytecode to JavaScript - An Interesting Problem
Offered By: JSConf via YouTube
Course Description
Overview
Syllabus
Intro
JOA EBERT JVM/IS
aot vs jit
different optimizations
OPTIMISTIC ASSUMPTIONS
DEOPTIMIZATIONS
CLASSLOADER SUPPORT
workers RUN COSTLY OPTIMIZATIONS IN BACKGROUND
browser concentrates on user code
java is statically typed
we have a tracing compiler
scales across platforms
LABELED BLOCKS CONSIDERED EVIL!!11!
#SEMANTICS
impl jvm semantics for js
don't add too much overhead
class initializer
instance initialization
numerics
SIMPLIFY SIMPLIFY SIMPLIFY
10fps difference in v8
prototype voodoo
undefined === null //?
5x in firefox for richards benchmark
MORAL OF THE STORY?
should mimic
cleanup and simplify
take shortcuts
ABuse what's available
test and measure
MEASURE!
#OPTIMIZER
which one to use?
blink, servo, firefox ...
spec bugs & inconsistencies
always check for types
#DISPLAYLIST
optimize based on heuristic
cache vertices and culling information
COMANCHE
HEISENBERG
Taught by
JSConf
Related Courses
Deno - Next Generation JavaScript RuntimeJSConf via YouTube How I Got 1600 Stars on GitHub in 2 Months of Open Source Work
JSConf via YouTube Is it Okay to Pursue Functional Programming on Frontend - JSConf Korea
JSConf via YouTube If - Extensible Design - Return "Work Life Balance"
JSConf via YouTube React x Web Components - How It Is and How It Could Be
JSConf via YouTube