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
Software as a ServiceUniversity of California, Berkeley via Coursera Intro to Computer Science
University of Virginia via Udacity Web Development
Udacity Software Engineering for SaaS
University of California, Berkeley via Coursera CS50's Introduction to Computer Science
Harvard University via edX