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

Report on the Workshop ICOOOLPS’2006 at ECOOP’06
  • Roland Ducournau
  • Etienne Gagnon
  • Chandra Krintz
  • Philippe Mulet
  • Jan Vitek
  • Olivier Zendra
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4379)


ICOOOLPS’2006 was the first edition of ECOOP-ICOOOLPS workshop. It intended 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. This succeeded, as can be seen from the papers, the attendance and the liveliness of the discussions that took place during and after the workshop, not to mention a few new cooperations or postdoctoral contracts. The 22 talented people from different groups who participated were unanimous to appreciate this first edition and recommend that ICOOOLPS be continued next year. A community is thus beginning to form, and should be reinforced by a second edition next year, with all the improvements this first edition made emerge.


Defend Dispatch Univer Timothy Wolfram 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Amme, W., et al.: 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. 3.
    Athavale, R., et al.: Influence of array allocation mechanisms on memory system energy. In: IPDPS, p. 3 (2001)Google Scholar
  4. 4.
    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), doi:10.1145/581888.581891CrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Banakar, R., et al.: Scratchpad memory: design alternative for cache on-chip memory in embedded systems. In: 10th international symposium on Hardware/software codesign (CODES’02), Estes Park, Colorado, pp. 73–78. ACM Press, New York (2002), doi:10.1145/774789.774805CrossRefGoogle Scholar
  7. 7.
    Beers, M.Q., Stork, C., Franz, M.: Efficiently verifiable escape analysis. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 75–95. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Blackburn, S., et al.: Beltway: Getting around garbage collection gridlock. In: PLDI, pp. 153–164 (2002)Google Scholar
  9. 9.
    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
  10. 10.
    Blanchet, B.: Escape analysis for object-oriented languages: Application to java. In: OOPSLA, pp. 20–34 (1999)Google Scholar
  11. 11.
    Blanchet, B.: Escape analysis for javatm: Theory and practice. ACM Trans. Program. Lang. Syst. 25(6), 713–775 (2003)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Bollella, G., Gosling, J.: The real-time specification for java. IEEE Computer 33(6), 47–54 (2000)Google Scholar
  13. 13.
    Cherem, S., Rugina, R.: Region analysis and transformation for java programs. In: ISMM, pp. 85–96 (2004)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Colnet, D., Coucaud, P., Zendra, O.: Compiler support to customize the mark and sweep algorithm. In: ISMM, pp. 154–165 (1998)Google Scholar
  16. 16.
    Delaluz, V., et al.: Compiler-directed array interleaving for reducing energy in multi-bank memories. In: 2002 conference on Asia South Pacific design automation/VLSI Design (ASP-DAC’02), Washington, DC, USA, p. 288. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  17. 17.
    Deters, M., Cytron, R.: Automated discovery of scoped memory regions for real-time java. In: MSP/ISMM, pp. 132–142 (2002)Google Scholar
  18. 18.
    Detlefs, D.: A hard look at hard real-time garbage collection. In: ISORC, pp. 23–32 (2004)Google Scholar
  19. 19.
    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
  20. 20.
    Dwyer, M.B., et al.: 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)MATHCrossRefGoogle Scholar
  21. 21.
    Fitzgerald, R.P., Tarditi, D.: The case for profile-directed selection of garbage collectors. In: ISMM, pp. 111–120 (2000)Google Scholar
  22. 22.
    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
  23. 23.
    Graybill, R., Melhem, R.: Power aware computing. Kluwer Academic Publishers, Norwell (2002)Google Scholar
  24. 24.
    Grove, D., Chambers, C.: A framework for call graph construction algorithms. ACM Trans. Program. Lang. Syst. 23(6), 685–746 (2001)CrossRefGoogle Scholar
  25. 25.
    Hall, R.S.: A policy-driven class loader to support deployment in extensible frameworks. In: Component Deployment, pp. 81–96 (2004)Google Scholar
  26. 26.
    Harris, T.L.: Dynamic adaptive pre-tenuring. In: ISMM, pp. 127–136 (2000)Google Scholar
  27. 27.
    Higuera-Toledano, M.T., et al.: Region-based memory management for real-time java. In: ISORC, pp. 387–394 (2001)Google Scholar
  28. 28.
    Hirzel, M., Diwan, A., Hertz, M.: Connectivity-based garbage collection. In: OOPSLA, pp. 359–373 (2003)Google Scholar
  29. 29.
    Hirzel, M., et al.: Understanding the connectivity of heap objects. In: MSP/ISMM, pp. 143–156 (2002)Google Scholar
  30. 30.
    Hom, J., Kremer, U.: Energy management of virtual memory on diskless devices. In: Workshop on Compilers and Operating Systems for Low Power (COLP’01), Barcelone, Espagne, Sept. 2001 (2001)Google Scholar
  31. 31.
    Hom, J., Kremer, U.: Inter-program optimizations for conserving disk energy. In: 2005 international symposium on Low power electronics and design (ISLPED’05), San Diego, CA, USA, pp. 335–338. ACM Press, New York (2005), doi:10.1145/1077603.1077684Google Scholar
  32. 32.
    ITRS. International technology roadmap for semiconductors (2005),
  33. 33.
    Jones, R., Lins, R.: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester (1996)Google Scholar
  34. 34.
    Kandemir, M., et al.: Register relabeling: A post compilation technique for energy reduction. In: Workshop on Compilers and Operating Systems for Low Power (COLP’00), Philadelphie, PA, USA, oct 2000 (2000)Google Scholar
  35. 35.
    Krintz, C., Calder, B.: Using annotation to reduce dynamic optimization time. In: PLDI, pp. 156–167 (2001)Google Scholar
  36. 36.
    Lee, M., et al.: Power analysis and minimization techniques for embedded dsp software. IEEE Transactions on Very Large Scale Integration 5 (1997)Google Scholar
  37. 37.
    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)MATHCrossRefGoogle Scholar
  38. 38.
    Muchnick, S.S.: Advanced compiler design and implementation. Morgan Kaufmann Publishers Inc., San Francisco (1997)Google Scholar
  39. 39.
    Nagpurkar, P., et al.: Online phase detection algorithms. In: CGO, pp. 111–123 (2006)Google Scholar
  40. 40.
    Necula, G.C.: Proof-carrying code. In: POPL, pp. 106–119 (1997)Google Scholar
  41. 41.
    Nystrom, N., Clarkson, M.R., Myers, A.C.: Polyglot: An extensible compiler framework for java. In: Hedin, G. (ed.) CC 2003 and ETAPS 2003. LNCS, vol. 2622, pp. 138–152. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  42. 42.
    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
  43. 43.
    Pizlo, F., et al.: Real-time java scoped memory: Design patterns and semantics. In: ISORC, pp. 101–110 (2004)Google Scholar
  44. 44.
    Poletti, F., et al.: An integrated hardware/software approach for run-time scratchpad management. In: DAC, pp. 238–243 (2004)Google Scholar
  45. 45.
    Privat, J., Ducournau, R.: Link-time static analysis for efficient separate compilation of object-oriented languages. In: PASTE, pp. 20–27 (2005)Google Scholar
  46. 46.
    Ravindran, R.A., et al.: Partitioning variables across register windows to reduce spill code in a low-power processor. IEEE Transaction on Computers 54(8), 998–1012 (2005)CrossRefGoogle Scholar
  47. 47.
    Siebert, F.: Hard real-time garbage-collection in the jamaica virtual machine. In: RTCSA, pp. 96–102 (1999)Google Scholar
  48. 48.
    Soman, S., Krintz, C., Bacon, D.F.: Dynamic selection of application-specific garbage collectors. In: ISMM, pp. 49–60 (2004)Google Scholar
  49. 49.
    Tallam, S., Gupta, R.: Bitwidth aware global register allocation. In: POPL, pp. 85–96 (2003)Google Scholar
  50. 50.
    Tofte, M., Talpin, J.-P.: Region-based memory management. Inf. Comput. 132(2), 109–176 (1997)MATHCrossRefMathSciNetGoogle Scholar
  51. 51.
    Whaley, J., Rinard, M.C.: Compositional pointer and escape analysis for java programs. In: OOPSLA, pp. 187–206 (1999)Google Scholar
  52. 52.
    Woo, S., Yoon, J., Kim, J.: Low-power instruction encoding techniques. In: SOC Design Conference (2001),
  53. 53.
    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), doi:10.1145/1022969.1022973CrossRefGoogle Scholar
  54. 54.
    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
  55. 55.
    Zhang, Y., Gupta, R.: Data compression transformations for dynamically allocated data structures. In: Horspool, R.N. (ed.) CC 2002 and ETAPS 2002. LNCS, vol. 2304, pp. 14–28. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  56. 56.
    Zhuang, X., Lau, C., Pande, S.: Storage assignment optimizations through variable coalescence for embedded processors. In: LCTES ’03: 2003 ACM SIGPLAN conference on Language, Compiler, and Tool for Embedded Systems, San Diego, California, USA, pp. 220–231. ACM Press, New York (2003), doi:10.1145/780732.780763CrossRefGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Roland Ducournau
    • 1
  • Etienne Gagnon
    • 2
  • Chandra Krintz
    • 3
  • Philippe Mulet
    • 4
  • Jan Vitek
    • 5
  • Olivier Zendra
    • 6
  1. 1.LIRMMFrance
  2. 2.UQAMCanada
  3. 3.UCSBUSA
  4. 4.IBMFrance
  5. 5.Purdue UniversityUSA
  6. 6.INRIA-LORIAFrance

Personalised recommendations