Skip to main content

Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems

Report on the Workshop ICOOOLPS 2007 at ECOOP 2007

  • Conference paper
Object-Oriented Technology. ECOOP 2007 Workshop Reader (ECOOP 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4906))

Included in the following conference series:

  • 359 Accesses

Abstract

ICOOOLPS’2007 was the second edition of the ECOOP-ICOOOLPS workshop. ICOOOLPS intends to bring researchers and practitioners both from academia and industry together, with a spirit of openness, to try and identify and begin to address the numerous and very varied issues of optimization. After a first successful edition, this second one put a stronger emphasis on exchanges and discussions amongst the participants, progressing on the bases set last year in Nantes.

The workshop attendance was a success, since the 30-people limit we had set was reached about 2 weeks before the workshop itself. Some of the discussions (e.g .annotations) were so successful that they would required even more time than we were able to dedicate to them. That’s one area we plan to further improve for the next edition.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Absar, M.J., Catthoor, F.: Compiler-based approach for exploiting scratch-pad in presence of irregular array access. In: DATE, pp. 1162–1167 (2005)

    Google Scholar 

  2. Amme, W., Dalton, N., Franz, M., von Ronne, J.: Safetsa: A type safe and referentially secure mobile-code representation based on static single assignment form. In: PLDI, pp. 137–147 (2001)

    Google Scholar 

  3. Angiolini, E., Benini, L., Caprara, A.: Polynomial-time algorithm for on-chip scratchpad memory partitioning. In: CASES (2003)

    Google Scholar 

  4. Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.F.: Adaptive optimization in the jalapeno jvm. In: OOPSLA, pp. 47–65 (2000)

    Google Scholar 

  5. Arnold, M., Fink, S.J., Grove, D., Hind, M., Sweeney, P.F.: A survey of adaptive optimization in virtual machines. Proceedings of the IEEE 93(2), 449–466 (2005)

    Article  Google Scholar 

  6. Athavale, R., Vijaykrishnan, N., Kandemir, M.T., Irwin, M.J.: Influence of array allocation mechanisms on memory system energy. In: IPDPS, p. 3 (2001)

    Google Scholar 

  7. Avissar, O., Barua, R., Stewart, D.: An optimal memory allocation scheme for scratch-pad-based embedded systems. Transaction on Embedded Computing Systems 1(1), 6–26 (2002)

    Article  Google Scholar 

  8. Bacon, D.F., Cheng, P., Rajan, V.T.: A real-time garbage collector with low overhead and consistent utilization. In: POPL, pp. 285–298 (2003)

    Google Scholar 

  9. Bacon, D.F., Konuru, R.B., Murthy, C., Serrano, M.J.: Thin locks: Featherweight synchronization for java. In: PLDI, pp. 258–268 (1998)

    Google Scholar 

  10. Banakar, R., Steinke, S., Lee, B.-S., Balakrishnan, M., Marwedel, P.: Scratchpad memory: design alternative for cache on-chip memory in embedded systems. In: CODES, pp. 73–78. ACM Press, New York (2002)

    Chapter  Google Scholar 

  11. Baynes, K., Collins, C., Fiterman, E., Ganesh, B., Kohout, P., Smit, C., Zhang, T., Jacob, B.: The performance and energy consumption of three embedded real-time operating systems. In: CASES 2001. 4th Workshop on Compiler and Architecture Support for Embedded Systems, pp. 203–210 (2001)

    Google Scholar 

  12. Beers, M.Q., Stork, C., Franz, M.: Efficiently verifiable escape analysis. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, Springer, Heidelberg (2004)

    Google Scholar 

  13. Benini, L., Macii, A., Macii, E., Poncino, M.: Increasing Energy Efficiency of Embedded Systems by Application Specific Memory Hierarchy Generation. IEEE Design and Test 17(2), 74–85 (2000)

    Article  Google Scholar 

  14. Benini, L., De Micheli, G.: System-level power optimization: techniques and tools. IEEE Design and Test 17(2), 74–85 (2000)

    Article  Google Scholar 

  15. Blackburn, S., Jones, R., McKinley, K.S., Moss, J.E.B.: Beltway: Getting around garbage collection gridlock. In: PLDI, pp. 153–164 (2002)

    Google Scholar 

  16. Blackburn, S.M., Cheng, P., McKinley, K.S.: Oil and water? high performance garbage collection in java with mmtk. In: ICSE, pp. 137–146 (2004)

    Google Scholar 

  17. Blanchet, B.: Escape analysis for javatm: Theory and practice. ACM Trans. Program. Lang. Syst. 25(6), 713–775 (2003)

    Article  MathSciNet  Google Scholar 

  18. Bollella, G., Gosling, J.: The real-time specification for java. IEEE Computer 33(6), 47–54 (2000)

    Google Scholar 

  19. Bruggeman, C., Waddell, O., Dybvig, R.K.: Representing control in the presence of one-shot continuations. In: PLDI, pp. 99–107 (1996)

    Google Scholar 

  20. Chambers, C., Ungar, D., Lee, E.: An efficient implementation of self a dynamically-typed object-oriented language based on prototypes. In: OOPSLA, pp. 49–70 (1989)

    Google Scholar 

  21. Cherem, S., Rugina, R.: Region analysis and transformation for java programs. In: ISMM, pp. 85–96 (2004)

    Google Scholar 

  22. Cofer, D.D., Rangarajan, M.: Formal modeling and analysis of advanced scheduling features in an avionics rtos. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 138–152. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  23. Colnet, D., Coucaud, P., Zendra, O.: Compiler support to customize the mark and sweep algorithm. In: ISMM, pp. 154–165 (1998)

    Google Scholar 

  24. Delaluz, V., Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Sivasubramaniam, A., Kolcu, I.: Compiler-directed array interleaving for reducing energy in multi-bank memories. In: ASP-DAC 2002. 2002 conference on Asia South Pacific design automation/VLSI Design, p. 288. IEEE Computer Society Press, Los Alamitos (2002)

    Google Scholar 

  25. Deters, M., Cytron, R.: Automated discovery of scoped memory regions for real-time java. In: MSP/ISMM, pp. 132–142 (2002)

    Google Scholar 

  26. Detlefs, D.: A hard look at hard real-time garbage collection. In: ISORC, pp. 23–32 (2004)

    Google Scholar 

  27. Dezani-Ciancaglini, M., Mostrous, D., Yoshida, N., Drossopoulou, S.: Session types for object-oriented languages. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 328–352. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  28. Dominguez, A., Udayakumaran, S., Barua, R.: Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing (JEC) 1(4) (2005)

    Google Scholar 

  29. Dwyer, M.B., Hatcliff, J.R., Ranganath, V.P.: Exploiting object escape and locking information in partial-order reductions for concurrent object-oriented programs. Formal Methods in System Design 25(2–3), 199–240 (2004)

    Article  MATH  Google Scholar 

  30. Egger, B., Lee, J., Shin, H.: Scratchpad Memory Management for Portable Systems with a Memory Management Unit. In: EMSOFT (2006)

    Google Scholar 

  31. Ernst, E.: Family polymorphism. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 303–326. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  32. Fitzgerald, R.P., Tarditi, D.: The case for profile-directed selection of garbage collectors. In: ISMM, pp. 111–120 (2000)

    Google Scholar 

  33. Ben Fradj, H., El Ouardighi, A., Belleudy, C., Auguin, M.: Energy aware memory architecture configuration.  33(3), 3–9 (2005)

    Google Scholar 

  34. Gagnon, E.M., Hendren, L.J.: Sablevm: A research framework for the efficient execution of java bytecode. In: Java Virtual Machine Research and Technology Symposium, pp. 27–40 (2001)

    Google Scholar 

  35. Graybill, R., Melhem, R.: Power aware computing. Kluwer Academic Publishers, Norwell (2002)

    Google Scholar 

  36. Grove, D., Chambers, C.: A framework for call graph construction algorithms. ACM Trans. Program. Lang. Syst. 23(6), 685–746 (2001)

    Article  Google Scholar 

  37. Hall, R.S.: A policy-driven class loader to support deployment in extensible frameworks. In: Component Deployment, pp. 81–96 (2004)

    Google Scholar 

  38. Hallnor, G., Reinhardt, S.K.: A fully associative software-managed cache design. In: ISCA (2000)

    Google Scholar 

  39. Harris, T.L.: Dynamic adaptive pre-tenuring. In: ISMM, pp. 127–136 (2000)

    Google Scholar 

  40. Higuera-Toledano, M.T., Issarny, V., Banâtre, M., Cabillic, G., Lesot, J.-P., Parain, F.: Region-based memory management for real-time java. In: ISORC, pp. 387–394 (2001)

    Google Scholar 

  41. Hirzel, M., Diwan, A., Hertz, M.: Connectivity-based garbage collection. In: OOPSLA, pp. 359–373 (2003)

    Google Scholar 

  42. Hiser, J.D., Davidson, J.W.: EMBARC: An Efficient Memory Bank Assignment Algorithm for Retargetable Compilers. In: LCTES, pp. 182–191. ACM Press, New York (2004)

    Google Scholar 

  43. Hölzle, U., Ungar, D.: Optimizing dynamically-dispatched calls with run-time type feedback. In: PLDI, pp. 326–336 (1994)

    Google Scholar 

  44. Hom, J., Kremer, U.: Inter-program optimizations for conserving disk energy. In: ISLPED, pp. 335–338. ACM Press, New York (2005)

    Chapter  Google Scholar 

  45. Jones, R., Lins, R.: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester (1996)

    MATH  Google Scholar 

  46. Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Ye, W., Demirkiran, I.: Register relabeling: A post compilation technique for energy reduction. In: COLP (October 2000)

    Google Scholar 

  47. Krintz, C., Calder, B.: Using annotation to reduce dynamic optimization time. In: PLDI, pp. 156–167 (2001)

    Google Scholar 

  48. LCTES. Compilation Challenges for Network Processors. In: Compilers and Tools for Embedded Systems. Industrial Panel, ACM Conference on Languages (June 2003)

    Google Scholar 

  49. Lee, M., Tiwari, V., Malik, S., Fujita, M.: Power analysis and minimization techniques for embedded dsp software. IEEE Transactions on Very Large Scale Integration, 5 (March 1997)

    Google Scholar 

  50. Moreau, P.-E., Zendra, O.: GC2: a generational conservative garbage collector for the ATterm library. J. Log. Algebr. Program. 59(1–2), 5–34 (2004)

    Article  MATH  Google Scholar 

  51. Muchnick., S.S. (ed.): Advanced compiler design and implementation. Morgan Kaufmann Publishers Inc., San Francisco (1997)

    Google Scholar 

  52. Nagpurkar, P., Krintz, C., Hind, M., Sweeney, P.F., Rajan, V.T.: Online phase detection algorithms. In: CGO, pp. 111–123 (2006)

    Google Scholar 

  53. Necula., G.C.: Proof-carrying code. In: POPL, pp. 106–119 (1997)

    Google Scholar 

  54. Nguyen, N., Dominguez, A., Barua, R.: Memory allocation for embedded systems with a compile-time-unknown scratch-pad size. In: CASES (2005)

    Google Scholar 

  55. Nystrom, N., Clarkson, M.R., Myers, A.C.: Polyglot: An extensible compiler framework for java. In: CC (2003)

    Google Scholar 

  56. Palacz, K., Vitek, J.: Java subtype tests in real-time. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 378–404. Springer, Heidelberg (2003)

    Google Scholar 

  57. Panda, P.R., Dutt, N., Nicolau, A.: Efficient utilization of scratch-pad memory in embedded processor applications. In: DATE (1997)

    Google Scholar 

  58. Pizlo, F., Fox, J.M., Holmes, D., Vitek, J.: Real-time java scoped memory: Design patterns and semantics. In: ISORC, pp. 101–110 (2004)

    Google Scholar 

  59. Poletti, F., Marchal, P., Atienza, D., Benini, L., Catthoor, F., Mendias, J.M.: An integrated hardware/software approach for run-time scratchpad management. In: DAC, pp. 238–243 (2004)

    Google Scholar 

  60. Privat, J., Ducournau, R.: Link-time static analysis for efficient separate compilation of object-oriented languages. In: PASTE, pp. 20–27 (2005)

    Google Scholar 

  61. Ravindran, R.A., Senger, R.M., Marsman, E.D., Dasika, G.S., Guthaus, M.R., Mahlke, S.A., Brown, R.B.: Partitioning variables across register windows to reduce spill code in a low-power processor. IEEE Transaction on Computers 54(8), 998–1012 (2005)

    Article  Google Scholar 

  62. Reynolds, J.C.: The discoveries of continuations. Lisp Symb. Comput. 6(3–4), 233–248 (1993)

    Article  Google Scholar 

  63. Siebert., F.: Hard real-time garbage-collection in the jamaica virtual machine. In: RTCSA, pp. 96–102 (1999)

    Google Scholar 

  64. Soman, S., Krintz, C., Bacon, D.F.: Dynamic selection of application-specific garbage collectors. In: ISMM, pp. 49–60 (2004)

    Google Scholar 

  65. Steinke, S., Grunwald, N., Wehmeyer, L., Banakar, R., Balakrishnan, M., Marwedel, P.: Reducing Energy Consumption by Dynamic Copying of Instructions onto Onchip Memory. In: ISSS (2002)

    Google Scholar 

  66. Steinke, S., Knauer, M., Wehmeyer, L., Marwedel, P.: An accurate and fine grain instruction-level energy model supporting software optimizations. In: Proc. of PATMOS (2001)

    Google Scholar 

  67. Suganuma, T., Yasue, T., Nakatani, T.: A region-based compilation technique for a java just-in-time compiler. In: PLDI, pp. 312–323. ACM Press, New York (2003)

    Google Scholar 

  68. Tallam, S., Gupta, R.: Bitwidth aware global register allocation. In: POPL, pp. 85–96 (2003)

    Google Scholar 

  69. Tofte, M., Talpin, J.-P.: Region-based memory management. Inf. Comput. 132(2), 109–176 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  70. Udayakumaran, S., Dominguez, A., Barua, R.: Dynamic allocation for scratch-pad memory using compile-time decisions. Embedded Comput. Syst. 5(2), 472–511 (2006)

    Article  Google Scholar 

  71. Verma, M., Wehmeyer, L., Pyka, R., Marwedel, P., Benini, L.: Compilation and Simulation Tool Chain for Memory Aware Energy Optimizations. In: Vassiliadis, S., Wong, S., Hämäläinen, T.D. (eds.) SAMOS 2006. LNCS, vol. 4017, pp. 279–288. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  72. Whaley, J., Rinard, M.C.: Compositional pointer and escape analysis for java programs. In: OOPSLA, pp. 187–206 (1999)

    Google Scholar 

  73. Woo, S., Yoon, J., Kim, J.: Low-power instruction encoding techniques. In: SOC Design Conference (2001)

    Google Scholar 

  74. Xie, F., Martonosi, M., Malik, S.: Intraprogram dynamic voltage scaling: Bounding opportunities with analytic modeling. ACM Transactions on Architure and Code Optimization (TACO) 1(3), 323–367 (2004)

    Article  Google Scholar 

  75. Zendra, O., Driesen, K.: Stress-testing control structures for dynamic dispatch in java. In: Java Virtual Machine Research and Technology Symposium, pp. 105–118 (2002)

    Google Scholar 

  76. Zhang, Y., Gupta, R.: Data compression transformations for dynamically allocated data structures. In: Horspool, R.N. (ed.) CC 2002 at ETAPS 2002. LNCS, vol. 2304, pp. 14–28. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  77. Zhuang, X., Lau, C., Pande, S.: Storage assignment optimizations through variable coalescence for embedded processors. In: LCTES, pp. 220–231. ACM Press, New York (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael Cebulla

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zendra, O. et al. (2008). Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems. In: Cebulla, M. (eds) Object-Oriented Technology. ECOOP 2007 Workshop Reader. ECOOP 2007. Lecture Notes in Computer Science, vol 4906. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78195-0_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78195-0_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78194-3

  • Online ISBN: 978-3-540-78195-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics