[7] S. Brunthaler. Efficient Interpretation Using Quickening. In
Proceedings of DLS, 2010. URL http://doi.acm.org/10.
1145/1869631.1869633.
[8] D. Chisnall. The Challenge of Cross-language Interoperabil-
ity. Commun. ACM, 2013. URL http://doi.acm.org/10.
1145/2534706.2534719.
[9] S. Finne, D. Leijen, E. Meijer, and S. Peyton Jones. Calling
Hell from Heaven and Heaven from Hell. In Proceedings
of ICFP, 1999. URL http://doi.acm.org/10.1145/317636.
317790.
[10] P. J. Fleming and J. J. Wallace. How not to lie with statistics:
The correct way to summarize benchmark results. 1986. URL
http://doi.acm.org/10.1145/5666.5673.
[11] K. Gray. Safe Cross-Language Inheritance. In ECOOP. 2008.
URL http://dx.doi.org/10.1007/978-3-540-70592-5_4.
[12] K. E. Gray, R. B. Findler, and M. Flatt. Fine-grained In-
teroperability Through Mirrors and Contracts. In Proceed-
ings of OOPSLA, 2005. URL http://doi.acm.org/10.1145/
1094811.1094830.
[13] M. Grimmer. High-performance language interoperability in
multi-language runtimes. In Proceedings of SPLASH, 2014.
URL http://doi.acm.org/10.1145/2660252.2660256.
[14] M. Grimmer, M. Rigger, R. Schatz, L. Stadler, and
H. M
¨
ossenb
¨
ock. TruffleC: Dynamic Execution of C on a
Java Virtual Machine. In Proceedings of PPPJ, 2014. URL
http://dx.doi.org/10.1145/2647508.2647528.
[15] M. Grimmer, T. W
¨
urthinger, A. W
¨
oß, and H. M
¨
ossenb
¨
ock.
An Efficient Approach for Accessing C Data Structures from
JavaScript. In Proceedings of ICOOOLPS, 2014. URL http:
//dx.doi.org/10.1145/2633301.2633302.
[16] M. Grimmer, R. Schatz, C. Seaton, T. W
¨
urthinger, and
H. M
¨
ossenb
¨
ock. Memory-safe Execution of C on a Java VM.
In Proceedings of PLAS, 2015. URL http://doi.acm.org/
10.1145/2786558.2786565.
[17] M. Grimmer, C. Seaton, T. Wuerthinger, and H. Moessen-
boeck. Dynamically Composing Languages in a Modular
Way: Supporting C Extensions for Dynamic Languages. In
Proceedings of MODULARITY, 2015. URL http://doi.acm.
org/10.1145/2724525.2728790.
[18] M. Hirzel and R. Grimm. Jeannie: Granting Java Native In-
terface Developers Their Wishes. In Proceedings of OOP-
SLA, 2007. URL http://doi.acm.org/10.1145/1297027.
1297030.
[19] U. H
¨
olzle, C. Chambers, and D. Ungar. Optimizing
Dynamically-typed Object-oriented Languages with Poly-
morphic Inline Caches. In ECOOP. 1991. . URL http:
//dx.doi.org/10.1007/BFb0057013.
[20] U. H
¨
olzle, C. Chambers, and D. Ungar. Debugging Optimized
Code with Dynamic Deoptimization. In Proceedings of PLDI,
1992. URL http://doi.acm.org/10.1145/143095.143114.
[21] S. P. Jones, T. Nordin, and A. Reid. Greencard: a foreign-
language interface for haskell. In Proc. Haskell Workshop,
1997.
[22] S. Kell and C. Irwin. Virtual machines should be invisible. In
Proceedings of SPLASH, 2011. URL http://doi.acm.org/
10.1145/2095050.2095099.
[23] F. Klock II. The layers of larcenys foreign function interface.
In Scheme and Functional Programming Workshop. Citeseer,
2007.
[24] S. Liang. Java Native Interface: Programmer’s Guide and
Reference. Boston, MA, USA, 1st edition, 1999.
[25] J. Matthews and R. B. Findler. Operational semantics for
multi-language programs. In Proceedings of POPL, 2007.
URL http://doi.acm.org/10.1145/1190216.1190220.
[26] M. D. Network. XPCOM Specification. https://developer.
mozilla.org/en-US/docs/Mozilla/XPCOM, 2014.
[27] Oracle. OpenJDK: Graal project. http://openjdk.java.
net/projects/graal/, 2013.
[28] J. Reppy and C. Song. Application-specific Foreign-interface
Generation. In Proceedings of GPCE, 2006. . URL http:
//doi.acm.org/10.1145/1173706.1173714.
[29] J. R. Rose and H. Muller. Integrating the scheme and c
languages. In Proceedings of LFP, 1992. URL http://doi.
acm.org/10.1145/141471.141559.
[30] M. Slee, A. Agarwal, and M. Kwiatkowski. Thrift: Scalable
cross-language services implementation. Facebook White Pa-
per, 2007.
[31] L. Stadler, T. W
¨
urthinger, and H. M
¨
ossenb
¨
ock. Partial Escape
Analysis and Scalar Replacement for Java. In Proceedings of
CGO, 2014. . URL http://doi.acm.org/10.1145/2544137.
2544157.
[32] L. Stepanian, A. D. Brown, A. Kielstra, G. Koblents, and
K. Stoodley. Inlining Java Native Calls at Runtime. In
Proceedings of VEE, 2005. URL http://doi.acm.org/10.
1145/1064979.1064997.
[33] V. Trifonov and Z. Shao. Safe and principled language inter-
operation. 1999.
[34] N. Wang, D. C. Schmidt, and C. O’Ryan. Overview of the
CORBA Component Model. In Component-Based Software
Engineering, 2001.
[35] M. Wegiel and C. Krintz. Cross-language, Type-safe, and
Transparent Object Sharing for Co-located Managed Run-
times. In Proceedings of OOPSLA, 2010. URL http://doi.
acm.org/10.1145/1869459.1869479.
[36] A. W
¨
oß, C. Wirth, D. Bonetta, C. Seaton, C. Humer, and
H. M
¨
ossenb
¨
ock. An Object Storage Model for the Truffle
Language Implementation Framework. In Proceedings of
PPPJ, 2014. URL http://dx.doi.org/10.1145/2647508.
2647517.
[37] T. Wrigstad, F. Z. Nardelli, S. Lebresne, J.
¨
Ostlund, and
J. Vitek. Integrating typed and untyped code in a script-
ing language. In Proceedings of POPL, 2010. . URL
http://doi.acm.org/10.1145/1706299.1706343.
[38] T. W
¨
urthinger, A. W
¨
oß, L. Stadler, G. Duboscq, D. Simon,
and C. Wimmer. Self-optimizing AST interpreters. In Pro-
ceedings of DLS, 2012. . URL http://doi.acm.org/10.
1145/2384577.2384587.
[39] T. W
¨
urthinger, C. Wimmer, A. W
¨
oß, L. Stadler, G. Duboscq,
C. Humer, G. Richards, D. Simon, and M. Wolczko. One VM
to rule them all. In Proceedings of ONWARD!, 2013.