SlideShare a Scribd company logo
2
Most read
3
Most read
DoppioJVM
▪ Supports multithreaded programs.
▪ Runs multiple languages that run on top of the JVM.
▪ Supports native functionality that JVM expect.
Suspend and resume
▪ The call stack must be stored in JavaScript Object.
▪ The program must periodically check if it should suspend.
▪ ECMAScript 6 ("yield").
Multithreading.
▪ DoppioJVM emulates on doppio's "thread pool".
▪ DoppioJVM supports wide range of complex multithreading
programs.
DoppioJVM
Segmented execution.
▪ DoppioJVM use Doppio's suspend and resume functionality.
▪ DoppioJVM stack frame is JavaScript object.(Operand stack and local
variables).
File System
▪ DOPPIO’s file system implements the Node JS Buffer module in the
browser.
▪ DOPPIO emulates the Node JS file system module, fs, inside the
browser.
▪ DOPPIO’s emulated fs module is only responsible for interacting with
a single root file system
Native Methods
▪ Methods corresponding to the file system API use the DOPPIO file
system.
▪ Methods corresponding to unsafe memory operations use the
DOPPIO heap.
▪ Methods corresponding to network connections use DOPPIO
sockets.
Class Loading
▪ The DOPPIOJVM class loader uses the DOPPIO file system and its
Buffer module to appropriately download and parse JVM class files.
▪ File system backend launches an asynchronous download request for
the particular file to load it into memory before passing it to the class
loader for further execution.
Exceptions
▪ DOPPIOJVM iterates through its virtual stack.
JVM Objects and Arrays.
▪ DOPPIOJVM maps JVM objects to JavaScript objects
▪ JVM array mapped to JavaScript Object.
DoppioJVM

More Related Content

PDF
Quick Introduction to Node.js
PPTX
Halton Software Peer 2 Peer Meetup #10
PDF
PDF
FreeBSD hosting
PDF
Restinio (actual aug 2018)
PDF
GruntJS + Wordpress
PPT
PDF
Node.js for Rubists
Quick Introduction to Node.js
Halton Software Peer 2 Peer Meetup #10
FreeBSD hosting
Restinio (actual aug 2018)
GruntJS + Wordpress
Node.js for Rubists

What's hot (20)

PDF
vimshell made other shells legacy
PDF
Howto Make A Linux Boot Disk
PDF
Web Development Fundamentals
PDF
What The Web!
PDF
JBoss AS7
PDF
EuroBSDCon 2021 - (auto)Installing BSD Systems
PDF
PPTX
Introduction to Python
KEY
Node.js rulz! JavaScript takes over the full Stack
PPTX
Creating VM for pfsense
PDF
FreeBSD preseed installation (PXE) AsiaBSDCon 2015
PDF
The Shell Game Part 2: What are your shell choices?
PPTX
World of Node.JS
PDF
Vagrant - Team Development made easy
PDF
One RubyStack to Rule them All
PDF
MongoDB, Node.js And You: PART II
KEY
RVM, Bundler and Ruby Tracker
PDF
The Obsoletion of the OS
PPTX
Swift on raspberry pi
PDF
Porting Puppet to OpenBSD
vimshell made other shells legacy
Howto Make A Linux Boot Disk
Web Development Fundamentals
What The Web!
JBoss AS7
EuroBSDCon 2021 - (auto)Installing BSD Systems
Introduction to Python
Node.js rulz! JavaScript takes over the full Stack
Creating VM for pfsense
FreeBSD preseed installation (PXE) AsiaBSDCon 2015
The Shell Game Part 2: What are your shell choices?
World of Node.JS
Vagrant - Team Development made easy
One RubyStack to Rule them All
MongoDB, Node.js And You: PART II
RVM, Bundler and Ruby Tracker
The Obsoletion of the OS
Swift on raspberry pi
Porting Puppet to OpenBSD
Ad

Similar to DoppioJVM (20)

PDF
Project Zero For Javapolis 2007
PPTX
Presentación rs232 java
ODP
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
PPTX
#JavaOne What's in an object?
PPTX
JavaOne2015-What's in an Object?
PPTX
MWLUG - Universal Java
PDF
Concierge - Bringing OSGi (back) to Embedded Devices
PPTX
Metasploit For Beginners
PPTX
Java session2
ODP
Malware analysis
PDF
OSGi enRoute Unveiled - P Kriens
PDF
Node.js introduction
PDF
Introduction To Core Java - SpringPeople
PPTX
The Forefront of the Development for NVDIMM on Linux Kernel
PDF
Server Side Javascript
PPTX
JAVA INTRODUCTION - 1
PPTX
A Fabric/Puppet Build/Deploy System
PDF
MongoDB: Advantages of an Open Source NoSQL Database
PPTX
Class_01.pptx
PDF
Mocloudos - Feather-weight Cloud OS developed within
14 man-days
Project Zero For Javapolis 2007
Presentación rs232 java
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
#JavaOne What's in an object?
JavaOne2015-What's in an Object?
MWLUG - Universal Java
Concierge - Bringing OSGi (back) to Embedded Devices
Metasploit For Beginners
Java session2
Malware analysis
OSGi enRoute Unveiled - P Kriens
Node.js introduction
Introduction To Core Java - SpringPeople
The Forefront of the Development for NVDIMM on Linux Kernel
Server Side Javascript
JAVA INTRODUCTION - 1
A Fabric/Puppet Build/Deploy System
MongoDB: Advantages of an Open Source NoSQL Database
Class_01.pptx
Mocloudos - Feather-weight Cloud OS developed within
14 man-days
Ad

Recently uploaded (20)

PPTX
History, Philosophy and sociology of education (1).pptx
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
Orientation - ARALprogram of Deped to the Parents.pptx
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Microbial disease of the cardiovascular and lymphatic systems
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
History, Philosophy and sociology of education (1).pptx
LDMMIA Reiki Yoga Finals Review Spring Summer
Final Presentation General Medicine 03-08-2024.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Yogi Goddess Pres Conference Studio Updates
Weekly quiz Compilation Jan -July 25.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Anesthesia in Laparoscopic Surgery in India
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Computing-Curriculum for Schools in Ghana
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
What if we spent less time fighting change, and more time building what’s rig...
Orientation - ARALprogram of Deped to the Parents.pptx
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Microbial disease of the cardiovascular and lymphatic systems
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc

DoppioJVM

  • 1. DoppioJVM ▪ Supports multithreaded programs. ▪ Runs multiple languages that run on top of the JVM. ▪ Supports native functionality that JVM expect.
  • 2. Suspend and resume ▪ The call stack must be stored in JavaScript Object. ▪ The program must periodically check if it should suspend. ▪ ECMAScript 6 ("yield").
  • 3. Multithreading. ▪ DoppioJVM emulates on doppio's "thread pool". ▪ DoppioJVM supports wide range of complex multithreading programs.
  • 5. Segmented execution. ▪ DoppioJVM use Doppio's suspend and resume functionality. ▪ DoppioJVM stack frame is JavaScript object.(Operand stack and local variables).
  • 6. File System ▪ DOPPIO’s file system implements the Node JS Buffer module in the browser. ▪ DOPPIO emulates the Node JS file system module, fs, inside the browser. ▪ DOPPIO’s emulated fs module is only responsible for interacting with a single root file system
  • 7. Native Methods ▪ Methods corresponding to the file system API use the DOPPIO file system. ▪ Methods corresponding to unsafe memory operations use the DOPPIO heap. ▪ Methods corresponding to network connections use DOPPIO sockets.
  • 8. Class Loading ▪ The DOPPIOJVM class loader uses the DOPPIO file system and its Buffer module to appropriately download and parse JVM class files. ▪ File system backend launches an asynchronous download request for the particular file to load it into memory before passing it to the class loader for further execution.
  • 9. Exceptions ▪ DOPPIOJVM iterates through its virtual stack.
  • 10. JVM Objects and Arrays. ▪ DOPPIOJVM maps JVM objects to JavaScript objects ▪ JVM array mapped to JavaScript Object.