ACM Home Page
Please provide us with feedback. Feedback
Tracing for web 3.0: trace compilation for the next generation web applications
Full text PdfPdf (647 KB)
Source
ACM/Usenix International Conference On Virtual Execution Environments archive
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments table of contents
Washington, DC, USA
SESSION: Breaking barriers table of contents
Pages 71-80  
Year of Publication: 2009
ISBN:978-1-60558-375-4
Authors
Mason Chang  University of California, Irvine, Irvine, CA, USA
Edwin Smith  Adobe Corporation, Newton, MA, USA
Rick Reitmaier  Adobe Corporation, San Francisco, CA, USA
Michael Bebenita  University of California, Irvine, Irvine, CA, USA
Andreas Gal  University of California, Irvine, Irvine, CA, USA
Christian Wimmer  University of California, Irvine, Irvine, CA, USA
Brendan Eich  Mozilla, Mountain View, CA, USA
Michael Franz  University of California, Irvine, Irvine, CA, USA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 53,   Downloads (12 Months): 291,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1508293.1508304
What is a DOI?

ABSTRACT

Today's web applications are pushing the limits of modern web browsers. The emergence of the browser as the platform of choice for rich client-side applications has shifted the use of in-browser JavaScript from small scripting programs to large computationally intensive application logic. For many web applications, JavaScript performance has become one of the bottlenecks preventing the development of even more interactive client side applications. While traditional just-in-time compilation is successful for statically typed virtual machine based languages like Java, compiling JavaScript turns out to be a challenging task. Many JavaScript programs and scripts are short-lived, and users expect a responsive browser during page loading. This leaves little time for compilation of JavaScript to generate machine code.

We present a trace-based just-in-time compiler for JavaScript that uses run-time profiling to identify frequently executed code paths, which are compiled to executable machine code. Our approach increases execution performance by up to 116% by decomposing complex JavaScript instructions into a simple Forth-based representation, and then recording the actually executed code path through this low-level IR. Giving developers more computational horsepower enables a new generation of innovative web applications.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Adobe Systems Inc. ActionScript 3 Language Specification, 2006. http://livedocs.adobe.com/specs/actionscript/3/wwhelp/wwhimpl/js/html/wwhelp.htm.
 
2
Adobe Systems Inc. ActionScript Virtual Machine 2 Overview, 2007. http://www.adobe.com/devnet/actionscript/articles/avm2overview.pdf.
 
3
Adobe Systems Inc. Adobe Flex SDK, 2008. http://www.adobe.com/products/flex/flexdownloads/#sdk.
 
4
5
6
7
8
9
10
 
11
ECMA. Standard ECMA-262: ECMAScript Language Specification, 3rd edition, 1999. http://www.ecma-international.org/publications/standards/Ecma-262.htm.
 
12
M. Ertl and D. Gregg. The Structure and Performance of Efficient Interpreters. Journal of Instruction-Level Parallelism, 5:1--25, 2003.
13
 
14
C. Garrett, J. Dean, D. Grove, and C. Chambers. Measurement and Application of Dynamic Receiver Class Distributions. Technical Report CSE-TR-94-03-05, University of Washington, 1994.
15
 
16
17
 
18
JavaScript:TraceMonkey - Mozilla Wiki, 2008. https://wiki.mozilla.org/JavaScript:TraceMonkey.
 
19
 
20
Microsoft Developer Network. JScript (Windows Script Technologies), 2008. http://msdn.microsoft.com/en-us/library/hbxc2t98(VS.85).aspx.
 
21
R. Milner. A Theory of Type Polymorphism in Programming. Journal of Computer and System Sciences, 17(3):348--375, 1978.
 
22
Mozilla Foundation. SpiderMonkey (JavaScript-C) Engine, 2008. http://www.mozilla.org/js/spidermonkey/.
 
23
Mozilla Foundation. Tamarin Central, 2008. http://hg.mozilla.org/tamarin-central/.
24
 
25
M. Pall. LuaJIT Roadmap, 2008. http://lua-users.org/lists/lua-l/2008-02/msg00051.html.
26
 
27
SunSpider JavaScript Benchmark, 2008. http://webkit.org/perf/sunspider-0.9/sunspider.html.
 
28
Surfin' Safari -- Blog Archive -- Announcing SquirrelFish, 2008. http://webkit.org/blog/189/announcing-squirrelfish/.
 
29
30


Collaborative Colleagues:
Mason Chang: colleagues
Edwin Smith: colleagues
Rick Reitmaier: colleagues
Michael Bebenita: colleagues
Andreas Gal: colleagues
Christian Wimmer: colleagues
Brendan Eich: colleagues
Michael Franz: colleagues