• Karel Driesen
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 596)


Conference Proceeding Type Inference Branch Prediction Multiple Inheritance Program Language Design 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Ole Agesen, Jens Palsberg, and Michael I. Schwartzbach. Type Inference of Self: Analysis of Objects with Dynamic and Multiple Inheritance. In ECOOP ′93 Conference Proceedings, p. 247–267. Kaiserslautern, Germany, July 1993.Google Scholar
  2. [2]
    Ole Agesen. The Cartesian Product Algorithm: Simple and Precise Type Inference of parametric Polymorphism. In ECOOP′95, Ninth European Conference on Object-Oriented Programming, p. 2–26, Arhus, Denmark, August 1995. Springer-Verlag LNCS 952..Google Scholar
  3. [3]
    Ole Agesen and Urs Hölzle. Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages. Technical Report TRCS 95-04, Department of Computer Science, UCSB, March 1995.Google Scholar
  4. [4]
    Gerald Aigner. VPROF: A Virtual Function Call Profiler for C++. Unpublished manuscript, 1995.Google Scholar
  5. [5]
    Gerald Aigner and Urs Hölzle. Eliminating Virtual Function Calls in C++ Programs. ECOOP96 Conference Proceedings, Linz, Austria, Springer Verlag Lecture Notes in Computer Science, July 1996.Google Scholar
  6. [6]
    Eric Amiel, Olivier Gruber, and Eric Simon. Optimizing Multi-Method Dispatch Using Compressed Dispatch Tables. In OOPSLA ′94 Conference Proceedings, pp. 244–258, October 1994. Published as SIGPLAN Notices 29(10), October 1994.Google Scholar
  7. [7]
    A.V.Aho, J.E.Hopcroft, J.D.Ullman. Data Structures and Algorithms. Addison-Wesley 1983.Google Scholar
  8. [8]
    P. André and J.-C. Royer. Optimizing Method Search with Lookup Caches and Incremental Coloring. OOPSLA ′92 Conference Proceedings, Vancouver, Canada, October 1992.Google Scholar
  9. [9]
    Apple Computer, Inc. Object Pascal Users Manual. Cupertino, 1988.Google Scholar
  10. [10]
    The Beatles. A Little Help from my Friends. Album: Stg. Peppers Lonely Hearts Club Band. 1967Google Scholar
  11. [11]
    Francois Bodin and Andre Seznec. Skewed Associativity Improves Program Performance and Enhances Predictability. IEEE Transactions on Computers. Vol. 48, No. 5, May 1997.Google Scholar
  12. [12]
    Brad Calder, Dirk Grunwald, and Benjamin Zorn. Quantifying Behavioral Differences Between C and C++ Programs. Journal of Programming Languages, pages 313–351, Vol 2, Num 4, 1994.Google Scholar
  13. [13]
    Brad Calder and Dirk Grunwald. Reducing Indirect Function Call Overhead in C++ Programs. In 21st Annual ACM Symposium on Principles of Programming Languages, p. 397–408, January 1994.Google Scholar
  14. [14]
    The Cambridge Encyclopedia. Cambridge University Press 1990.Google Scholar
  15. [15]
    Craig Chambers, David Ungar, and Elgin Lee. An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes. In OOPSLA ′89 Conference Proceedings, p. 49–70, New Orleans, LA, October 1989. Published as SIGPLAN Notices 24(10), October 1989.Google Scholar
  16. [16]
    Craig Chambers, David Ungar, Bay-Wei Chang, and Urs Hölzle. Parents are Shared Parts: Inheritance and Encapsulation in Self. Lisp and Symbolic Computation 4(3), Kluwer Academic Publishers, June 1991.Google Scholar
  17. [17]
    Craig Chambers. Object-Oriented Multi-Methods in Cecil. ECOOP′92 Conference Proceedings.Google Scholar
  18. [18]
    Craig Chambers. The Cecil Language: Specification and Rationale. Technical Report 93-03-05, Department of Computer Science and Engeneering, University of Washington.Google Scholar
  19. [19]
    Craig Chambers and Weimin Chen. Efficient Multiple and Predicate Dispatching. To appear in OOPSLA′99 Conference Proceedings.Google Scholar
  20. [20]
    Craig Chambers and Weimin Chen. Efficient Predicate Dispatching. Technical Report UW-CSE-98-12-02, Department of Computer Science and Engineering, University of Washington.Google Scholar
  21. [21]
    Po-Yung Chang, Marius Evers, Yale N. Patt. Improving Branch Prediction Accuracy by Reducing Pattern History Table Interference. Proceedings of the International Conference on Parallell Architectures and Compilation Techniques Proceedings, October 1996.Google Scholar
  22. [22]
    Po-Yung Chang, Eric Hao, Yale N. Patt. Branch classification: A new mechanism for improving branch predictor performance. MICRO ′27 Novermber 1994.Google Scholar
  23. [23]
    Po-Yung Chang, Eric Hao, Yale N. Patt. Alternative Implementations of Hybrid Branch Predictors. MICRO ′28 Proceedings, November 1995.Google Scholar
  24. [24]
    Po-Yung Chang, Eric Hao, Yale N. Patt. Target Prediction for Indirect Jumps. ISCA ′97 Proceedings, July 1998Google Scholar
  25. [25]
    Weimin Chen, Volker Turau, Wolfgang Klas. Efficient Dynamic Look-Up Strategie for Multi-Methods. In ECOOP′94 Conference Proceedings, Bologna, Italy, 1994.Google Scholar
  26. [26]
    Weimin Chen, Volker Turau. Multiple-Dispatching Based on Automata. Theory and Practice of Object Systems, 1(1):41–59, 1995.Google Scholar
  27. [27]
    I-Cheng K.Chen, John T.Coffey, Trevor N. Mudge. Analysis of Branch Prediction via Data Compression. ASPLOS′96 Proceedings.Google Scholar
  28. [28]
    Robert F. Cmelik and David Keppel. Shade: A Fast Instruction-Set Simulator for Execution Profiling. Sun Microsystems Laboratories, Technical Report SMLI TR-93-12, 1993. Also published as Technical Report CSE-TR 93-06-06, University of Washington, 1993.Google Scholar
  29. [29]
    T. Conroy and E. Pelegri-Llopart. An Assessment of Method-Lookup Caches for Smalltalk-80 Implementations. In 76.Google Scholar
  30. [30]
    Cypress Semiconductors. CY7C601 SPARC processor, 1990.Google Scholar
  31. [31]
    O.-J. Dahl and B. Myrhaug. Simula Implementation Guide. Publication S 47, NCC, March 1973.Google Scholar
  32. [32]
    Jeffrey Dean, Craig Chambers, and David Grove. Optimization of Object-Oriented Programs using Class Hierarchy Analysis. ECOOP ′95 Proceedings, Aarhus, Denmark, August 1995.Google Scholar
  33. [33]
    P. Dencker, K. Dürre, and J. Heuft. Optimization of Parser Tables for Portable Compilers. TOPLAS 6(4):546–572, 1984.CrossRefGoogle Scholar
  34. [34]
    L. Peter Deutsch and Alan Schiffman. Efficient Implementation of the Smalltalk-80 System. Proceedings of the 11th Symposium on the Principles of Programming Languages, Salt Lake City, UT, 1984.Google Scholar
  35. [35]
    Jeffrey Dean, Greg DeFouw, David Grove, Vassily Litvinov, and Craig Chambers. Vortex: An Optimizing Compiler for Object-Oriented Languages. Proceedings of OOPSLA96, San Jose, CA, October, 1996.Google Scholar
  36. [36]
    Theo D’Hondt. Personal communication, 1990.Google Scholar
  37. [37]
    R. Dixon, T. McKee, P. Schweitzer, and M. Vaughan. A Fast Method Dispatcher for Compiled Languages with Multiple Inheritance. OOPSLA ′89 Conference Proceedings, pp. 211–214, New Orleans, LA, October 1989.Google Scholar
  38. [38]
    Karel Driesen. Selector Table Indexing and Sparse Arrays. OOPSLA ′93 Conference Proceedings, p. 259–270, Washington, D.C., 1993. Published as SIGPLAN Notices 28(10), September 1993.Google Scholar
  39. [39]
    Karel Driesen. Method Lookup Strategies in Dynamically Typed Object-Oriented Programming Languages. Master’s Thesis, Vrije Universiteit Brussel, 1993.Google Scholar
  40. [40]
    Karel Driesen. Compressing Sparse Tables using a Genetic Algorithm. In Proceedings of the GRONICS ′94 Student Conference, Groningen, February 1994.Google Scholar
  41. [41]
    Karel Driesen, Urs Hölzle, Jan Vitek. Message Dispatch on Modern Computer Architectures. ECOOP ′95 Conference Proceedings, p. 253–282, Århus, Denmark, August 1995. Published as Springer Lecture Notes in Computer Science Vol. 952, Springer-Verlag, Berlin Heidelberg 1995Google Scholar
  42. [42]
    Karel Driesen, Urs Hölzle. Minimizing Row Displacement Dispatch Tables. OOPSLA′95 Conference Proceedings: p. 141–155, Austin,Texas, October 1995, Published as SIGPLAN Notices 30(10), October 1995.Google Scholar
  43. [43]
    Karel Driesen. Multiple Dispatch Techniques: a survey. Third place in the 1996 Student Writing Contest of the Society for Technical Communication, Santa-Barbara Chapter. White paper at (, Santa-Barbara, 1996.Google Scholar
  44. [44]
    Karel Driesen and Urs Hölzle. The Direct Cost of Virtual Function Calls in C++. In OOPSLA ′96 Conference proceedings, October 1996.Google Scholar
  45. [45]
    Karel Driesen and Urs Hölzle. Limits of Indirect Branch Prediction. Technical Report TRCS97-10, Department of Computer Science, University of California Santa-Barbara,June 25, 1997 (
  46. [46]
    Karel Driesen and Urs Hölzle. Accurate Indirect Branch Prediction. ISCA ′98 Conference Proceedings, pp. 167–178, Barcelona, July 1998Google Scholar
  47. [47]
    Karel Driesen and Urs Hölzle. Improving Indirect Branch Prediction With Source- and Arity-based Classification and Cascaded Prediction. Technical Report TRCS98-07, Computer Science Department, University of California, Santa Barbara, 15 March 1998 (
  48. [48]
    Karel Driesen and Urs Hölzle. The Cascaded Predictor: Economical and Adaptive Branch Target Prediction. Micro′98 Conference Proceedings, Dallas, Texas, December 1998.Google Scholar
  49. [49]
    Karel Driesen and Urs Hölzle. Multi-stage Cascaded Prediction. Euro-Par′99 Conference Proceedings, Toulouse, France, September 1999Google Scholar
  50. [50]
    Karel Driesen, Patrick Lam, Jerome Miecznikowski, Feng Qian, Derek Rayside. On the Predictability of Invoke Targets in Java Byte Code. To appear in the proceedings of the 2nd International Workshop on Hardware Support for Objects and Micro-architectures for Java, Austin, Texas, September 2000.Google Scholar
  51. [51]
    P. Dussud. TICLOS: An implementation of CLOS for the Explorer Family. OOPSLA ′89 Conference Proceedings, pp. 215–220, New Orleans, LA, October 1989. Published as SIGPLAN Notices 24(10), October 1989.Google Scholar
  52. [52]
    A.N.Eden and T.Mudge. The YAGS Branch Prediction Scheme. Micro′98 Conference Proceedings, Dallas, Texas, December 1998.Google Scholar
  53. [53]
    Margaret A. Ellis and Bjarne Stroustrup. The Annotated C++ Reference Manual. Addison-Wesley, Reading, MA, 1990.Google Scholar
  54. [54]
    Joel Emer and Nikolas Gloy. A language for describing predictors and its application to automatic synthesis. ISCA ′97 Proceedings, July 1997.Google Scholar
  55. [55]
    Michael Ernst, Craig Kaplan, and Craig Chambers. Predicate Dispatching: A Unified Theory of Dispatch. ECOOP ′98 Proceedings, Brussels, Belgium, July 1998.Google Scholar
  56. [56]
    Marius Evers, Po-Yung Chang, Yale N. Patt. Using Hybrid Branch Predictors to Improve Branch Prediction Accuracy in the presence of context switches. Proceedings of ISCA ′96.Google Scholar
  57. [57]
    E.Federovsky, M.Feder, S.Weiss. Branch Prediction based on Universal Data Compression Algorithms. ISCA ′98 Conference Proceedings, pp. 62–72, Barcelona, July 1998Google Scholar
  58. [58]
    Mary F. Fernandez. Simple and effective link-time optimization of Modula-3 programs. To appear in Proceedings of the SIGPLAN ′95 Conference on Programming Language Design and Implementation, 1995.Google Scholar
  59. [59]
    Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, October 1994.Google Scholar
  60. [60]
    Charles D. Garrett, Jeffrey Dean, David Grove, and Craig Chambers. Measurement and Application of Dynamic Receiver Class Distributions. Technical Report CSE-TR-94-03-05, University of Washington, February 1994.Google Scholar
  61. [61]
    Adele Goldberg and David Robson. Smalltalk-80: The Language and its Implementation. Second Edition, Addison-Wesley, Reading, MA, 1985.Google Scholar
  62. [62]
    J. Gosling, B. Joy and G. Steele. The Java Language Specification. Addison-Wesley, Reading Massachusetts, 1996.MATHGoogle Scholar
  63. [63]
    David Grove, Jeffrey Dean, Charles D. Garrett, and Craig Chambers. Profile-Guided Receiver Class Prediction. In OOPSLA′95, Object-Oriented Programming Systems, Languages and Applications, p. 108–123, Austin, TX, October 1995.Google Scholar
  64. [64]
    Linley Gwennap. Digital leads the pack with 21164. Microprocessor Report 8(12), September 12, 1994.Google Scholar
  65. [65]
    Eric Hao, Po-Yung Chang, and Yale Patt. The Effect of Speculatively Updating Branch History on Branch Prediction Accuracy, Revisited. Proceedings of the 27th International Symposium on Microarchitecture, San Jose, California, November, 1994.Google Scholar
  66. [66]
    John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach. Second Edition. Morgan Kaufmann Publishers Inc. 1996.Google Scholar
  67. [67]
    W. Holst, and D. Szafron, A General Framework for Inheritance Management and Method Dispatch in Object-Oriented Languages. Proceedings of ECOOP′97, Finland, Lecture Notes in Computing Science 1241, Springer Verlag, June 1997, pp. 276–301Google Scholar
  68. [68]
    W. Holst, and D. Szafron. Incremental Table-Based Method Dispatch for Reflective Object-Oriented Languages. Proceedings of TOOLS USA 97, Santa Barbara, California, July 1997.Google Scholar
  69. [69]
    Urs Hölzle, Craig Chambers, and David Ungar. Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches. In ECOOP′91 Conference Proceedings, Geneva, 1991. Published as Springer Verlag Lecture Notes in Computer Science 512, Springer Verlag, Berlin, 1991.Google Scholar
  70. [70]
    Urs Hölzle, Craig Chambers, and David Ungar. Debugging Optimized Code with Dynamic Deoptimization. Proceedings of the ACM SIGPLAN ′92 Conference on Programming Language Design and Implementation, pp. 32–43, San Francisco, June, 1992. Published as SIGPLAN Notices 27(7), July, 1992.Google Scholar
  71. [71]
    Urs Hölzle and David Ungar. Optimizing Dynamically-dispatched Calls With Run-Time Type Feedback. In PLDI ′94 Conference Proceedings, pp. 326–335, Orlando, FL, June 1994. Published as SIGPLAN Notices 29(6), June 1994.Google Scholar
  72. [72]
    Urs Hölzle. Adaptive Optimization for SELF: Reconciling High Performance with Exploratory Programming. Ph.D. Thesis, Department of Computer Science, Stanford University, August 1994.Google Scholar
  73. [73]
    Urs Hölzle and David Ungar. Do Object-Oriented Languages Need Special Hardware Support? ECOOP ′95 Conference Proceedings, Århus, Denmark, August 1995.Google Scholar
  74. [74]
    Urs Hölzle and David Ungar. Reconciling Responsiveness with Performance in Pure Object-Oriented Languages. ACM Trans. Programming Languages and Systems 18(4):355–400, 1996.CrossRefGoogle Scholar
  75. [75]
    Shih-Kun Huang, Deng-Jyi Chen. Two-way Coloring Approaches for Method Dispatching in Object-Oriented Programming Systems. Proceedings of the Sixteenth Annual International Computer Software and Applications Conference, pp. 39–44, Chicago, 1992.Google Scholar
  76. [76]
    Daniel H. H. Ingalls. A Simple Technique for Handling Multiple Polymorphism. OOPSLA ′86 Conference Proceedings.Google Scholar
  77. [77]
    Intel press release. The Next Generation of Microprocessor Architecture: A 64-bit Instruction Set Architecture (ISA) Based on EPIC Technology. Intel Corporation October 1997 (
  78. [78]
    Quinn Jacobson, Steve Bennet, Nikhil Sharma, and James E. Smith. Control flow speculation in multiscalar processors. HPCA-3 proceedings, February 1996.Google Scholar
  79. [79]
    Ralph Johnson. Workshop on Compiling and Optimizing Object-Oriented Programming Languages. OOPSLA ′87 Addendum to the Proceedings, 1988.Google Scholar
  80. [80]
    N.P.Jouppi. Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. Proceedings of ISCA′90.Google Scholar
  81. [81]
    T.Juan, S.Sanjeevan, J.Navarro. Dynamic History-Length Fitting: A Third Level of Adaptivity for Branch Prediction. ISCA ′98 Conference Proceedings, pp. 155-166, Barcelona, July 1998Google Scholar
  82. [82]
    John Kalamatianos and David Kaeli. Predicting Indirect Branches via Data Compression. Micro′98 Conference Proceedings, Dallas, Texas, December 1998Google Scholar
  83. [83]
    David Kaeli and P. G. Emma. Branch history table prediction of moving target branches due to subroutine returns. ISCA ′91 Proceedings, May 1991.Google Scholar
  84. [84]
    Gregor Kiczales and Louis Rodriguez. Efficient Method Dispatch in PCL. Proc. ACM Conf on Lisp and Functional Programming, 1990. Also in [108].Google Scholar
  85. [85]
    Holger Kienle and Urs Hölzle. Introduction to the SUIF 2.0 Compiler System. Technical Report TRCS97-22, Department of Computer Science, University of California Santa-Barbara, December 1997 (
  86. [86]
    Andreas Krall, Jan Vitek and R. N. Horspool. Near Optimal Hierarchical Encoding of Types. In ECOOP′97 conference Proceedings, Jyväskylä, Finland, June 1997. Published as Lecture Notes in Computer Science, Vol. 1241, Springer, 1997.Google Scholar
  87. [87]
    Glenn Krasner. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley, Reading, MA, 1983.MATHGoogle Scholar
  88. [88]
    Stein Krogdahl. Multiple Inheritance in Simula-like Languages. BIT 25, pp. 318–326, 1985.MATHCrossRefGoogle Scholar
  89. [89]
    James Larus and Eric Schnarr. EEL: Machine-Independent Executable Editing. In PLDI ′95 Conference Proceedings, pp. 291–300, La Jolla, CA, June 1995. Published as SIGPLAN Notices 30(6), June 1995.Google Scholar
  90. [90]
    J. Lee and A. Smith. Branch prediction strategies and branch target buffer design. IEEE Computer 17(1), January 1984.Google Scholar
  91. [91]
    Ole Lehrmann Madsen, Birger Moller-Pedersen, Kristen Nygaard. Object-Oriented Programming in the Beta Programming Language. Addison-Wesley 1993.Google Scholar
  92. [92]
    Raimondas Lencevicius, Urs Hölzle, and Ambuj K. Singh. Query-Based Debugging of Object-Oriented Programs. OOPSLA′97 proceedings, SIGPLAN Notices 32(10), October 1997.Google Scholar
  93. [93]
    Mark Linton, John Vlissides, Paul Calder. Composing User Interfaces with Interviews. IEEE Computer 22(2), pp. 8–22, February 1989.CrossRefGoogle Scholar
  94. [94]
    Mikko H.Lipasti, Christopher B. Wilkerson, and John Paul Shen. Value Locality and Load Value Prediction. Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS VII), October 1996, pp. 138–147Google Scholar
  95. [95]
    Mikko H.Lipasti and John Paul Shen. Exceeding the Dataflow Limit via Value Prediction. Proceedings of the 29th International Symposium on Microarchitecture, December 1996, pp. 226–237Google Scholar
  96. [96]
    MIPS Inc. R4000 Technical Brief, 1992Google Scholar
  97. [97]
    MIPS Inc. R10000 Technical Brief, September 1994Google Scholar
  98. [98]
    S. A. Mahlke, R. E. Hank, R. A. Bringmann, J. C. Gyllenhaal, D. M. Gallagher, and W. W. Hwu. Characterizing the Impact of Predicated Execution on Branch Prediction. Proceedings of the 27th International Symposium on Microarchitecture, December 1994, pp. 217–227Google Scholar
  99. [99]
    S. McFarling, Combining Branch Predictors, WRL Technical Note TN-36, Digital Equipment Corporation, June 1993.Google Scholar
  100. [100]
    Matthew C. Merten, Andrew R. Trick, Christopher N. George, John C. Gyllenhaal, Wen-Mei W. Hwu. A Hardware-Driven Profiling Scheme for Identifying Program Hot Spots to Support Runtime Optimization. To appear in the proceedings of ISCA ′99.Google Scholar
  101. [101]
    Microprocessor Report. HP PA8000 Combines Complexity and Speed. Volume 8, Number 15, November 14, 1994.Google Scholar
  102. [102]
    Microprocessor Report. Intel’s P6 Uses Decoupled Superscalar Design. Volume 9, Number 2, February 16, 1995.Google Scholar
  103. [103]
    S. Milton and Heinz W. Schmidt. Dynamic Dispatch in Object-Oriented Languages. Technical Report TR-CS-94-02, The Australian National University, Canberra, January 1994.Google Scholar
  104. [104]
    MIPS Inc. R4000 Technical Brief, 1992.Google Scholar
  105. [105]
    MIPS Inc. R10000 Technical Brief, September 1994.Google Scholar
  106. [106]
    Ravi Nair. Dynamic Path-Based Branch Correlation. Proceedings of MICRO-28, 1995.Google Scholar
  107. [107]
    Nicholas Oxhøy, Jens Palsberg, and Michael I. Schwartzbach. Making Type Inference Practical. In ECOOP ′92 Conference Proceedings, p. 329–349, Utrecht, The Netherlands, June/July 1992Google Scholar
  108. [108]
    Andreas Paepcke (ed.). Object-Oriented Programming: The CLOS Perspective, MIT Press, 1993.Google Scholar
  109. [109]
    Candy Pang, Wade Hoist, Yuri Leontiev and Duane Szafron. Multi-Method Dispatch Using Multiple Row Displacement. To appear in the proceedings of ECOOP′99.Google Scholar
  110. [110]
    Yale N.Patt, Sanjay J. Patel, Marius Evers, Daniel H. Friendly, Jared Stark. One Billion Transistors, One Uniprocessor, One Chip. IEEE Computer, September 1997Google Scholar
  111. [111]
    John Plevyak and Andrew A. Chien. Precise concrete type inference for object-oriented languages. In OOPSLA ′94 Conference Proceedings, pp. 324–340, October 1994. Published as SIGPLAN Notices 29(10), October 1994.Google Scholar
  112. [112]
    William Pugh and Grant Weddell. Two-Directional Record Layout for-Multiple Inheritance. In Proceedings of the SIGPLAN ′90 Conference on Programming Language Design and Implementation, p. 85-91, White Plains, NY, June, 1990. Published as SIGPLAN Notices 25(6), June 1990.Google Scholar
  113. [113]
    John Rose. Fast Dispatch Mechanisms for Stock Hardware. OOPSLA′88 Conference Proceedings, p. 27–35, San Diego, CA, November 1988. Published as SIGPLAN Notices 23(11), November 1988.Google Scholar
  114. [114]
    Stuart Sechrest, Chich-Chieh Lee, and Trevor Mudge. The role of adaptivity in two-level adaptive branch prediction. Proceedings of MICRO-29, November 1995.Google Scholar
  115. [115]
    Vijay Sundaresan, Laurie Hendren, Chrislain Razaflmahefa, Raja Valle-Rai, Patrick Lam, Etienne Gagnon, Charles Godin. Practical Virtual Method Call Resolution for Java. To appear in OOPSLA′2000 Conference Proceedings.Google Scholar
  116. [116]
    William Shakespeare. Romeo and Juliet. Bantam Books 1988.Google Scholar
  117. [117]
    Dennis Shasha and Cathy Lazere. Out of their MINDS: The Lives and Discoveries of 15 Great Computer Scientists. Springer-Verlag New York, 1995.MATHGoogle Scholar
  118. [118]
    Michael Slater. Rise Joins x86 Fray With mP6. Microprocessor Report 12(15), November 16, 1998.Google Scholar
  119. [119]
    Harini Srinivasan and Peter Sweeney. Evaluating Virtual Dispatch Mechanisms for C++. IBM Technical Report RC 20330, Thomas J. Watson Research Laboratory, December 1995.Google Scholar
  120. [120]
    Jared Stark, Marius Evers, and Yale N. Patt. Variable Length Path Branch Prediction. Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, October 1998Google Scholar
  121. [121]
    Bjarne Stroustrup. The C++ Programming Language. Third edition. Addison-Wesley Publishing Company, Reading Massachusetts, 1997Google Scholar
  122. [122]
    Adam R. Talcott. Reducing the Impact of the Branch Problem in Superpipelined and Superscalar Processors. Ph.D. Thesis, Department of Computer Science, University of California Santa Barbara, June 1995Google Scholar
  123. [123]
    R.E. Tarjan, A.C. Yao. Storing a Sparse Table. Communications of the ACM, 22(11), November 1979, pp. 606-611.MathSciNetMATHCrossRefGoogle Scholar
  124. [124]
    Kresten Krab Thorup. Optimizing Method Lookup in Dynamic Object-Oriented Languages with Sparse Arrays. Proceedings of the Annual SUUG Conference on Free Software 1993, Moscow, Russia 1993.Google Scholar
  125. [125]
    Augustus K. Uht, Vijay Sindagi, Sajee Somanathan. Branch Effect Reduction Techniques. IEEE Computer, May 1997.Google Scholar
  126. [126]
    UltraSPARC± User ’s Manual Revision 2.0, Sun Microelectronics, 1996Google Scholar
  127. [127]
    David Ungar and David Patterson. Berkeley Smalltalk: Who Knows Where the Time Goes? In [58].Google Scholar
  128. [128]
    David Ungar and David Patterson. What Price Smalltalk? In IEEE Computer 20(1), January 1987.Google Scholar
  129. [129]
    David Ungar. The Design and Evaluation of a High-Performance Smalltalk System. MIT Press, Cambridge, MA, 1987.Google Scholar
  130. [130]
    N. Vijaykrishnan and N. Ranganathan. Tuning Branch Predictors to Support Virtual Method Invocation in Java. Proceedings of the 5th USENIX Conference on Object-Oriented Technologies and Systems (COOTS′99), San Diego, California, USA, May 1999.Google Scholar
  131. [131]
    Jan Vitek and R. N. Horspool. Taming Message Passing: Efficient Method Look-Up for Dynamically-Typed Languages. In ECOOP ′94 Conference Proceedings, Bologna, Italy, 1994.Google Scholar
  132. [132]
    Jan Vitek and R. N. Horspool. Compact Dispatch Tables for Dynamically Typed Object-Oriented Languages. Proceedings of 7th International Conference on Compiler Construction, CC98, Lisbon, Portugal, March 1998. Published as Lecture Notes in Computer Science, Vol. 1383, Springer, 1998Google Scholar
  133. [133]
    Jan Vitek, R. N. Horspool, and J. Uhl. Compile-time analysis of object-oriented programs. Proc. CC′92, 4th International Conference on Compiler Construction, pp. 236–250, Paderborn, Germany, Springer-Verlag, 1992.Google Scholar
  134. [134]
    A. Weinand, E. Gamma, and R. Marty. ET++—An Object-Oriented Application Framework in C++. OOPSLA ′88 Conference Proceedings, pp. 46–57, October 1988.Google Scholar
  135. [135]
    Jennifer West, Personal Communication, June 1999.Google Scholar
  136. [136]
    Allen Wirfs-Brock. Large Java Applications Breaking the Speed Limit. Presentation at the JavaOne conference in San-Fransisco, March 24, 1998. Slides available at
  137. [137]
    Tse-Yu Yeh and Yale N. Patt. Two-level adaptive branch prediction. MICRO 24, November 1991.Google Scholar
  138. [138]
    Tse-Yu Yeh and Yale N. Patt. A Comparison of Dynamic Branch Predictors that use Two Levels of Branch History. Proceedings of ISCA ′93.Google Scholar
  139. [139]
    Olivier Zendra, Dominique Colnet, Suzanne Collin. Efficient Dynamic Dispatch without Virtual Function Tables: The Small Eiffel Compiler. OOPSLA ′97 Conference Proceedings, pp. 125–141, October 1997Google Scholar
  140. [140]
    Olivier Zendra. Traduction et optimisation globale dans les langages de classes. Ph.D. Thesis, Département de formation doctorale en informatique, UFR STMIA, Université Henri Pointcaré, Nancy, October 2000.Google Scholar

Copyright information

© Springer Science+Business Media New York 2001

Authors and Affiliations

  • Karel Driesen
    • 1
  1. 1.McGill UniversityCanada

Personalised recommendations