共 50 条
DOPPIO: Breaking the Browser Language Barrier
被引:0
|作者:
Vilk, John
[1
]
Berger, Emery D.
[1
]
机构:
[1] Univ Massachusetts, Sch Comp Sci, Amherst, MA 01003 USA
关键词:
Languages;
Design;
Web;
Browsers;
Programming Languages;
JVM;
Operating Systems;
!text type='Java']Java[!/text]Script;
COMPILATION;
D O I:
10.1145/2666356.2594293
中图分类号:
TP31 [计算机软件];
学科分类号:
081202 ;
0835 ;
摘要:
Web browsers have become a de facto universal operating system, and JavaScript its instruction set. Unfortunately, running other languages in the browser is not generally possible. Translation to JavaScript is not enough because browsers are a hostile environment for other languages. Previous approaches are either non-portable or require extensive modifications for programs to work in a browser. This paper presents DOPPIO, a JavaScript-based runtime system that makes it possible to run unaltered applications written in general-purpose languages directly inside the browser. DOPPIO provides a wide range of runtime services, including a file system that enables local and external (cloud-based) storage, an unmanaged heap, sockets, blocking I/O, and multiple threads. We demonstrate DOPPIO's usefulness with two case studies: we extend Emscripten with DOPPIO, letting it run an unmodified C++ application in the browser with full functionality, and present DOPPIOJVM, an interpreter that runs unmodified JVM programs directly in the browser. While substantially slower than a native JVM (between 24 x and 42 x slower on CPU-intensive benchmarks in Google Chrome), DOPPIOJVM makes it feasible to directly reuse existing, non compute-intensive code.
引用
收藏
页码:508 / 518
页数:11
相关论文