A fast method dispatcher for compiled languages with multiple inheritance
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Bounding space usage of conservative garbage collectors
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
The case for virtual register machines
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
Virtual machine showdown: Stack versus registers
ACM Transactions on Architecture and Code Optimization (TACO)
Google Web Toolkit GWT Java AJAX Programming: A step-by-step to Google Web Toolkit for creating Ajax applications fast
Emscripten: an LLVM-to-JavaScript compiler
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
An XML-Based cross-language framework
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems
Hi-index | 0.00 |
Cross-compilation translates between different high-level programming languages and enables programmers to use their skill-set on a platform that ordinarily does not support their preferred language. E.g., web applications for desktop browsers and mobile devices such as Firefox OS or Tizen need to be written in JavaScript and are not easily accessible to Java developers. The combinatoric explosion of possible cross-compilers between languages leads to the idea of tool-chaining: instead of a dedicated cross-compiler, chain two already existing cross-compilers. In this paper we demonstrate the chaining of two cross-compilers -- XMLVM and Emscripten -- to translate first from Java to C and then from C to JavaScript. We describe minor adjustments to XMLVM and Emscripten to optimize the generated code resulting in a competitive cross-compiler. Benchmarks show that tool-chaining yields similar performance relative to dedicated cross-compilers. Specifically, we will compare XMLVM/Emscripten with Google's GWT.