Links to Related and Background Material
- GitHub
- Python
-
Cross-Language Interoperation
- Thrift: Scalable Cross-Language Services Implementation, Slee et. al, 2007
- XMem: Type-Safe, Transparent, Shared Memory for Cross-Runtime Communication and Coordination; Wegiel and Krintz, PLDI 2008.
- Cross-Language, Type-Safe, and Transparent Object Sharing For Co-Located Managed Runtimes; Wegiel and Krintz, OOPSLA 2010.
- Testing API interoperability
- Apache StoneHenge
- Effort by Microsoft or others
- Python: (Ref)
- Python Profiling
- Java
- Loitsch and Nystrom, Why Not a Bytecode VM for the Dart language.
-
Java:
- JavaWorld Under the Cover Series (all parts): the Virtual Machine
- JavaWorld Under the Cover Series (all parts): the Classfile
- This is not assigned reading, but it is a page that is an index for the JVM topics. The index includes a alpha-order search -- click on the first letter of the bytecode instruction you are interested in, to see what the instruction does and what operands it takes. For example for iadd, click on i, go to the iadd instruction entry, and click on the definition link.
- The Java Virtual Machine Specification describes all of these topics and more.
- X. Leroy, Java Bytecode Verification: an Overview
- Constant Pool
- ClassFile structure
- Constant Pool docs
- Garbage Collection: Richard Jones' difinitive reference
- Dalvik VM (register vs stack); See also (stack vs register)
- Self (and prototype inheritance)
- JAX-WS, JAX-RS
- Trace-based Just-in-Time Type Specialization for Dynamic Languages, A. Gal et. al, 2009.
- Object model
- OOP in JS
- OOP in JS2
- OOP in JS3
- Info on Hidden Classes
- Fast and Precise Hybrid Type Inference for Javascript; Hackett and Guo (Mozilla), PLDI 2012