Real-World Abstract Machines

  • Peter Sestoft
Part of the Undergraduate Topics in Computer Science book series (UTICS, volume 50)

Abstract

This chapter discusses some widely used real-world abstract machines.

Keywords

Prefix Dispatch Suffix Ruby Actual Element 

References

  1. 1.
    The LLVM Compiler Infrastructure. At http://llvm.org/
  2. 2.
    ASM Bytecode Manipulation Framework. At http://asm.ow2.org/
  3. 3.
    Bebenita, M., et al.: Spur: a trace-based JIT compiler for CIL. In: Object Oriented Programming, Systems, Languages and Applications (OOPSLA), pp. 708–725. ACM, New York (2010) Google Scholar
  4. 4.
    Bertelsen, P.: Semantics of Java bytecode. Tech. rep., Royal Veterinary and Agricultural University, Denmark (1997). At http://www.dina.kvl.dk/~pmb/publications.html
  5. 5.
    Bruneton, E.: A Java bytecode engineering library (2011). At http://download.forge.objectweb.org/asm/asm4-guide.pdf
  6. 6.
    Bytecode Engineering Library (BCEL): Home page. At http://commons.apache.org/bcel/
  7. 7.
    Campbell, D.: Adventures with the garbage collector and the JIT optimizer. Blog (2007). At http://diditwith.net/2007/04/18/AdventuresWithTheGarbageCollectorAndTheJITOptimizer.aspx
  8. 8.
    Chiba, S.: Load-time structural reflection in Java. In: ECOOP 2000. Object-Oriented Programming. Lecture Notes in Computer Science, vol. 1850, pp. 313–336 (2000) CrossRefGoogle Scholar
  9. 9.
    Cohen, R.: The defensive Java virtual machine, version 0.5. Tech. rep., Computational Logic Inc., Austin, TX (1997). At http://www.cli.com/
  10. 10.
    Diehl, S., Hartel, P., Sestoft, P.: Abstract machines for programming language implementation. Future Gener. Comput. Syst. 16(7), 739–751 (2000) CrossRefGoogle Scholar
  11. 11.
    Ecma International: Common Language Infrastructure (CLI). Standard ECMA-335, 5th edn. (2010). At http://www.ecma-international.org/publications/standards/Ecma-335.htm
  12. 12.
    Gosling, J.A.: System and method for pre-verification of stack usage in bytecode program loops. US Patent 5,668,999 (1997) Google Scholar
  13. 13.
    Gough, J.: Compiling for the .Net Common Language Runtime (CLR). Prentice Hall, New York (2002) Google Scholar
  14. 14.
  15. 15.
  16. 16.
    Kotzmann, T., et al.: Design of the Java HotSpot client compiler for Java 6. ACM Trans. Archit. Code Optim. 5(1), 7:1–7:32 (2008) CrossRefGoogle Scholar
  17. 17.
    Lidin, S.: Expert .NET 2.0 IL. Assembler. Apress (2006) Google Scholar
  18. 18.
    Lindholm, T., Yellin, F., Bracha, G., Buckley, A.: The Java Virtual Machine Specification, Java Se, 7th edn. Addison-Wesley, Reading (2012). At http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf Google Scholar
  19. 19.
    Microsoft: Microsoft Developer Network .NET Resources Web page. At http://msdn.microsoft.com/en-us/netframework/
  20. 20.
    Mono project: At http://www.mono-project.com/
  21. 21.
    Neshkov, A.: DJ Java decompiler. Web page. At http://members.fortunecity.com/neshkov/dj.html
  22. 22.
    Odersky, M., Spoon, L., Venners, B.: Programming in Scala. Artima (2007) Google Scholar
  23. 23.
    Parallel Virtual Machine (PVM) project. At http://www.csm.ornl.gov/pvm/
  24. 24.
    Roeder, L.: .NET Reflector. Homepage. At http://www.reflector.net/
  25. 25.
    Sanders, J., Kandrot, E.: CUDA by Example: an Introduction to General-Purpose GPU Programming. Addison-Wesley, Reading (2010) Google Scholar
  26. 26.
    Smith, J.E., Nair, R.: Virtual Machines. Versatile Platforms for Systems and Processes. Morgan Kaufmann, San Mateo (2005) MATHGoogle Scholar
  27. 27.
    Stutz, D., Neward, T., Shilling, G.: Shared Source CLI Essentials. O’Reilly (2003) Google Scholar
  28. 28.
    Stärk, R., Schmid, J., Börger, E.: Java and the Java Virtual Machine—Definition, Verification, Validation. Springer, Berlin (2001) MATHGoogle Scholar
  29. 29.
    Suganuma, T., et al.: Overview of the IBM Java just-in-time compiler. IBM Syst. J. 39(1), 175–193 (2000) MathSciNetCrossRefGoogle Scholar
  30. 30.
    aJile Systems: Homepage. At http://www.ajile.com/
  31. 31.
    Gnu.bytecode Bytecode Generation Tools: Home Page. At http://www.gnu.org/software/kawa/

Copyright information

© Springer-Verlag London 2012

Authors and Affiliations

  • Peter Sestoft
    • 1
  1. 1.IT University of CopenhagenCopenhagenDenmark

Personalised recommendations