SlideShare a Scribd company logo
JAVASCRIPT ENGINE
AND WEBASSEMBLY
2016.2.18
동국대학교 멀티미디어공학과 이창환
(yich@dongguk.edu)
http://www.slideshare.net/yich/web-assembly
Contents
• Source Code Executions
• JavaScript Engine on FireFox
• WebAssembly
2
Source Code Executions
• Interpret
• Compile
• Interpret + Compile
• JIT(Just-in-time)
• AOT(ahead-of-time compile)
• etc.
3
4
http://image.slidesharecdn.com/principlesofcompilerdesign-120121013909-phpapp01/95/principles-of-compiler-design-24-728.jpg?cb=1327110100
JavaScript Engine
• SpiderMonkey
• A JavaScript engine in Mozilla Gecko applications
• JavaScriptCore
• A JavaScript interpreter and JIT originally derived from KJS(Konqueror’s Engine).
• Used in the WebKit project
• V8
• A JavaScript engine used in Google Chrome, Node.js, and V8.NET.
• Chakra (JScript9)
• A JScript engine used in Internet Explorer.
• Chakra
• A JavaScript engine used in Microsoft Edge.
• Carakan
• A JavaScript engine developed by Opera Software ASA
• Tamarin
• An ActionScript and ECMAScript engine used in Adobe Flash.
• Nashorn
• A JavaScript engine used in Oracle Java Development Kit (JDK) since version 8.
• Rhino
• One of several JavaScript engines from Mozilla, using the Java platform.
5
SpiderMonkey
• From Netscape and Firefox
• History of SpiderMonkey
• TraceMonkey: first javascript JIT, Firefox 3.5
• JägerMonkey: whole-method JIT, FireFox 4
• IonMonkey: Optimization
• OdinMonkey: asm.js
6
emscripten
• Emscripten
• http://kripken.github.io/emscripten-site/
• C/C++ -> JavaScript
• LLVM based Transpiler
• asm.js
• http://asmjs.org
• From Mozilla
• native performance from browser apps.
• C/C++ -> javascript
• Not javascript
7
http://ejohn.org/blog/asmjs-javascript-compile-target/
Typed Array / SIMD.js
• TypedArray
• https://www.khronos.org/registry/typedarray/specs/latest/
• WebGL
• SIMD.js (Single Instruction Multiple Data)
• https://hacks.mozilla.org/2014/10/introducing-simd-js/
8
WebAssembly
• Why? ASM.JS is not enough?
• A binary format can be decoded A binary format can be decoded much
faster than JavaScript; 20x faster
• Avoiding the simultaneous Avoiding the simultaneous ASM.JS
constrains constrains: AOT-compatibility and redundant optimization
• High-Level Goals of WASM
• Binary format also considering mobile and IoT
• Incremental implementation Incremental implementation
• Same functionality as ASM.JS
• A polyfill library to translates WASM code into JavaScript
• Languages other than C/C++
• Compatabile with existing Web Platform
• Synchronous calls to and from JavaScript
• Same security policy Same security policy
• Access Same Web API accessible to JavaScript
9
References
• List of ECMAScript engines,
https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
• SpiderMonkey JavaScript Engine,
http://new.whiteinternet.com/web-
development/spidermonkey
• WebAssembly
• http://webassembly.github.io/
• https://github.com/webassembly
• Web Assembly 기술 동향,
http://www.html5forum.or.kr/api/filedown.jsp?filename=07
_WebAssembly.pdf&folder=upload/board , HTML5Forum
웹 고속화 기술과 킬러웹앱 컨퍼런스
10

More Related Content

PPT
Web assembly overview by Mikhail Sorokovsky
ODP
An Introduction to WebAssembly
PPTX
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
PPTX
Web Assembly Big Picture
PDF
Isomorphic JavaScript: #DevBeat Master Class
PDF
WebAssemlby vs JavaScript
PPTX
DevDay 2018 - Blazor
PPTX
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Web assembly overview by Mikhail Sorokovsky
An Introduction to WebAssembly
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
Web Assembly Big Picture
Isomorphic JavaScript: #DevBeat Master Class
WebAssemlby vs JavaScript
DevDay 2018 - Blazor
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"

What's hot (20)

PDF
Compiling To Web Assembly
PDF
Building Isomorphic JavaScript Apps - NDC 2015
PDF
Isomorphic JavaScript with Nashorn
PPTX
PDF
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
PDF
Isomorphic web application
KEY
Scripting with NodeJS
PPTX
Web assembly: a brief overview
PDF
WebAssembly Fundamentals
PDF
Node.js with Express
PPTX
DotNet MVC and webpack + Babel + react
PPTX
Introduction to ASP.NET Core
PPTX
TypeScript Jump Start
PPTX
Web development using nodejs
PPTX
Webpack and Web Performance Optimization
PPTX
Introduction to mean stack
PPTX
The Saga of JavaScript and TypeScript: Part 1
PDF
Mean Stack - An Overview
PPTX
KEY
CloudFoundry@home
Compiling To Web Assembly
Building Isomorphic JavaScript Apps - NDC 2015
Isomorphic JavaScript with Nashorn
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
Isomorphic web application
Scripting with NodeJS
Web assembly: a brief overview
WebAssembly Fundamentals
Node.js with Express
DotNet MVC and webpack + Babel + react
Introduction to ASP.NET Core
TypeScript Jump Start
Web development using nodejs
Webpack and Web Performance Optimization
Introduction to mean stack
The Saga of JavaScript and TypeScript: Part 1
Mean Stack - An Overview
CloudFoundry@home
Ad

Similar to JavaScript Engine and WebAssembly (20)

PPTX
WebAssembly: In a Nutshell
PDF
JSLab.Руслан Шевченко."JavaScript как платформа компиляции"
PDF
Jslab rssh: JS as language platform
PDF
Past, present, and future of web assembly - Devfest Nantes 2017
ODP
Javascript Update May 2013
KEY
State of the art: server-side javaScript - NantesJS
PDF
You Can Work on the Web Patform! (GOSIM 2023)
PDF
모바일 웹 디버깅
PDF
Clojure Lightning Talk
PDF
Web assembly for the masses
PPT
Agile Software Development by Sencha
PDF
Why you should be excited about ClojureScript
PDF
Meetup. Technologies Intro for Non-Tech People
PDF
Oh the compilers you'll build
PPTX
JavaScript, 그 한계는 어디까지인가?
PPTX
WebAssembly WASM Introduction Presentation
PDF
WebAssembly - czy dzisiaj mi się to przyda do pracy?
PDF
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
PPTX
WebAssembly overview. KievJS meetup
PPTX
Languages (1)
WebAssembly: In a Nutshell
JSLab.Руслан Шевченко."JavaScript как платформа компиляции"
Jslab rssh: JS as language platform
Past, present, and future of web assembly - Devfest Nantes 2017
Javascript Update May 2013
State of the art: server-side javaScript - NantesJS
You Can Work on the Web Patform! (GOSIM 2023)
모바일 웹 디버깅
Clojure Lightning Talk
Web assembly for the masses
Agile Software Development by Sencha
Why you should be excited about ClojureScript
Meetup. Technologies Intro for Non-Tech People
Oh the compilers you'll build
JavaScript, 그 한계는 어디까지인가?
WebAssembly WASM Introduction Presentation
WebAssembly - czy dzisiaj mi się to przyda do pracy?
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
WebAssembly overview. KievJS meetup
Languages (1)
Ad

More from Changhwan Yi (15)

PDF
Web sessions in Developer Conferences
PDF
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
PDF
Html5 게임 기술의 개요
PDF
동국대 앱창작터 5일차:Cocos2d-X 확장기능
PDF
동국대 앱창작터 4일차:Cocos2d-X 고급기능
PDF
동국대 앱창작터 2일차:Cocos2d-X 기본기능
PDF
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
PDF
W3C HTML5 KIG-The near future of the web platform
PDF
W3C HTML5 KIG-The complete guide to building html5 games
PDF
차세대 웹비즈니스를 위한 "HTML5"
PDF
WoO 2012-Web 서비스 기술
PDF
W3C HTML5 KIG-Typed Arrays
PDF
하이브리드 앱(Hybrid App)
KEY
W3C HTML5 KIG-How to write low garbage real-time javascript
PDF
W3C HTML5 KIG-HTML5 Game Performance Issue
Web sessions in Developer Conferences
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
Html5 게임 기술의 개요
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
W3C HTML5 KIG-The near future of the web platform
W3C HTML5 KIG-The complete guide to building html5 games
차세대 웹비즈니스를 위한 "HTML5"
WoO 2012-Web 서비스 기술
W3C HTML5 KIG-Typed Arrays
하이브리드 앱(Hybrid App)
W3C HTML5 KIG-How to write low garbage real-time javascript
W3C HTML5 KIG-HTML5 Game Performance Issue

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Modernizing your data center with Dell and AMD
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Advanced IT Governance
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Monthly Chronicles - July 2025
Modernizing your data center with Dell and AMD
“AI and Expert System Decision Support & Business Intelligence Systems”
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced Soft Computing BINUS July 2025.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Unlocking AI with Model Context Protocol (MCP)
Mobile App Security Testing_ A Comprehensive Guide.pdf
Understanding_Digital_Forensics_Presentation.pptx
GamePlan Trading System Review: Professional Trader's Honest Take
Advanced IT Governance

JavaScript Engine and WebAssembly

  • 1. JAVASCRIPT ENGINE AND WEBASSEMBLY 2016.2.18 동국대학교 멀티미디어공학과 이창환 (yich@dongguk.edu) http://www.slideshare.net/yich/web-assembly
  • 2. Contents • Source Code Executions • JavaScript Engine on FireFox • WebAssembly 2
  • 3. Source Code Executions • Interpret • Compile • Interpret + Compile • JIT(Just-in-time) • AOT(ahead-of-time compile) • etc. 3
  • 5. JavaScript Engine • SpiderMonkey • A JavaScript engine in Mozilla Gecko applications • JavaScriptCore • A JavaScript interpreter and JIT originally derived from KJS(Konqueror’s Engine). • Used in the WebKit project • V8 • A JavaScript engine used in Google Chrome, Node.js, and V8.NET. • Chakra (JScript9) • A JScript engine used in Internet Explorer. • Chakra • A JavaScript engine used in Microsoft Edge. • Carakan • A JavaScript engine developed by Opera Software ASA • Tamarin • An ActionScript and ECMAScript engine used in Adobe Flash. • Nashorn • A JavaScript engine used in Oracle Java Development Kit (JDK) since version 8. • Rhino • One of several JavaScript engines from Mozilla, using the Java platform. 5
  • 6. SpiderMonkey • From Netscape and Firefox • History of SpiderMonkey • TraceMonkey: first javascript JIT, Firefox 3.5 • JägerMonkey: whole-method JIT, FireFox 4 • IonMonkey: Optimization • OdinMonkey: asm.js 6
  • 7. emscripten • Emscripten • http://kripken.github.io/emscripten-site/ • C/C++ -> JavaScript • LLVM based Transpiler • asm.js • http://asmjs.org • From Mozilla • native performance from browser apps. • C/C++ -> javascript • Not javascript 7 http://ejohn.org/blog/asmjs-javascript-compile-target/
  • 8. Typed Array / SIMD.js • TypedArray • https://www.khronos.org/registry/typedarray/specs/latest/ • WebGL • SIMD.js (Single Instruction Multiple Data) • https://hacks.mozilla.org/2014/10/introducing-simd-js/ 8
  • 9. WebAssembly • Why? ASM.JS is not enough? • A binary format can be decoded A binary format can be decoded much faster than JavaScript; 20x faster • Avoiding the simultaneous Avoiding the simultaneous ASM.JS constrains constrains: AOT-compatibility and redundant optimization • High-Level Goals of WASM • Binary format also considering mobile and IoT • Incremental implementation Incremental implementation • Same functionality as ASM.JS • A polyfill library to translates WASM code into JavaScript • Languages other than C/C++ • Compatabile with existing Web Platform • Synchronous calls to and from JavaScript • Same security policy Same security policy • Access Same Web API accessible to JavaScript 9
  • 10. References • List of ECMAScript engines, https://en.wikipedia.org/wiki/List_of_ECMAScript_engines • SpiderMonkey JavaScript Engine, http://new.whiteinternet.com/web- development/spidermonkey • WebAssembly • http://webassembly.github.io/ • https://github.com/webassembly • Web Assembly 기술 동향, http://www.html5forum.or.kr/api/filedown.jsp?filename=07 _WebAssembly.pdf&folder=upload/board , HTML5Forum 웹 고속화 기술과 킬러웹앱 컨퍼런스 10