{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:24:15Z","timestamp":1761611055314},"reference-count":61,"publisher":"Wiley","issue":"3","license":[{"start":{"date-parts":[[2015,9,1]],"date-time":"2015-09-01T00:00:00Z","timestamp":1441065600000},"content-version":"tdm","delay-in-days":5662,"URL":"http:\/\/doi.wiley.com\/10.1002\/tdm_license_1.1"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw: Pract. Exper."],"published-print":{"date-parts":[[2000,3]]},"DOI":"10.1002\/(sici)1097-024x(200003)30:3<199::aid-spe296>3.0.co;2-2","type":"journal-article","created":{"date-parts":[[2002,8,25]],"date-time":"2002-08-25T17:06:24Z","timestamp":1030295184000},"page":"199-232","source":"Crossref","is-referenced-by-count":26,"title":["Marmot: an optimizing compiler for Java"],"prefix":"10.1002","volume":"30","author":[{"given":"Robert","family":"Fitzgerald","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Todd B.","family":"Knoblock","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Erik","family":"Ruf","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bjarne","family":"Steensgaard","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Tarditi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","reference":[{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB1","series-title":"The Java Seri","volume-title":"The Java Language Specification","author":"Gosling","year":"1996","unstructured":"The Java Language Specification. The Java Series; Addison-Wesley: Reading, MA, June 1996."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB2","volume-title":"Advanced Compiler Design and Implementation","author":"Muchnick","year":"1997","unstructured":"Advanced Compiler Design and Implementation; Morgan Kaufmann: San Francisco, CA, 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB3","author":"Bacon","unstructured":"Fast static analysis of C++ virtual function calls. Proceedings OOPSLA '96, ACM SIGPLAN Notices, October 1996; 324-341. (ACM SIGPLAN Notices, 31(10).)"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB4","series-title":"LNCS","first-page":"77","volume-title":"Proceedings ECOOP'95","author":"Dean","year":"1995","unstructured":"Optimization of object-oriented programs using static class hierarchy analysis. Proceedings ECOOP'95, (ed.), LNCS, 952, Aarhus, Denmark, August 1995; 77-101. Springer-Verlag."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB5","author":"Cytron","year":"1989","unstructured":"An efficient method of computing static single assignment form. Proceedings of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, January 1989."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB6","author":"Tarditi","year":"1996","unstructured":"Design and implementation of code optimizations for a type-directed compiler for standard ML. PhD thesis, Carnegie Mellon University, December 1996."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB7","series-title":"The Java Seri","volume-title":"The Java Virtual Machine Specification","author":"Lindholm","year":"1997","unstructured":"The Java Virtual Machine Specification, The Java Series; Addison-Wesley: Reading, MA, 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB8","volume-title":"Compilers: Principles, Techniques, and Tools","author":"Aho","year":"1986","unstructured":"Compilers: Principles, Techniques, and Tools; Addison-Wesley: Reading, MA, 1986."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB9","volume-title":"Modern Compiler Implementaton in Java","author":"Appel","year":"1998","unstructured":"Modern Compiler Implementaton in Java; Cambridge University Press, 1998."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB10","doi-asserted-by":"crossref","first-page":"349","DOI":"10.1002\/spe.4380220502","volume":"22","author":"Chang","year":"1991","journal-title":"Software?Practice and Experience"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB11","author":"Cousot","unstructured":"Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. Proceedings of the Fourth Annual ACM Symposium on Principles of Programming Languages, Los Angeles, January 1977; 238-252."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB12","author":"Freund","year":"1998","unstructured":"The costs and benefits of java bytecode subroutines. Formal Underpinnings of Java Workshop at OOPSLA, 1998."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB13","first-page":"451","volume":"13","author":"Cytron","year":"1991","unstructured":"Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems 1991; 13(4):451-490."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB14","doi-asserted-by":"crossref","first-page":"121","DOI":"10.1145\/357062.357071","volume":"1","author":"Lengauer","year":"1979","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB15","author":"Sreedhar","year":"1995","unstructured":"A linear time algorithm for placing ?-nodes. Proceedings 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1995; 62-73."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB16","author":"Gagnon","year":"1999","unstructured":"Intra-procedural inference of static types for Java bytecode. Technical Report 1, McGill University, Canada 1999."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB17","author":"Dean","year":"1996","unstructured":"Vortex: An optimizing compiler for object-oriented languages. Proceedings OOPSLA '96, ACM SIGPLAN Notices, October 1996; 83-100."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB18","author":"Markstein","year":"1982","unstructured":"Optimization of range checking. Proceedings of the ACM SIGPLAN '86 Symposium on Compiler Construction, June 1982; 114-119."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB19","author":"Gupta","year":"1990","unstructured":"A fresh look at optimizing array bound checking. Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, June 1990; 272-282."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB20","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1145\/151333.151392","volume":"1","author":"Asuru","year":"1991","journal-title":"ACM Letters on Programming Languages and Systems"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB21","doi-asserted-by":"crossref","first-page":"135","DOI":"10.1145\/176454.176507","volume":"2","author":"Gupta","year":"1993","journal-title":"ACM Letters on Programming Languages and Systems"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB22","doi-asserted-by":"crossref","first-page":"217","DOI":"10.1145\/201059.201063","volume":"17","author":"Chin","year":"1995","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB23","author":"Kolte","year":"1995","unstructured":"Elimination of redundant array subscript range checks. Proceedings of the SIGPLAN '95 Conference on Programming Language Design and Implementation, 1995; 270-278."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB24","author":"Suzuki","year":"1977","unstructured":"Implementation of an array bound checker. Proceedings of the Fourth Annual ACM Symposium on Principles of Programming Languages, January 1977; 132-143."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB25","author":"Xi","year":"1998","unstructured":"Eliminating array bound checking through dependent types. Proceedings of the SIGPLAN '98 Conference on Programming Language Design and Implementation, 1998."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB26","doi-asserted-by":"crossref","first-page":"288","DOI":"10.1016\/0097-3165(73)90004-6","volume":"14","author":"Dantzig","year":"1973","journal-title":"Journal of Combinatorial Theory (A)"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB27","first-page":"71","volume-title":"Mathematical Programming Study 1","author":"Duffin","year":"1974","unstructured":"On Fourier's analysis of linear inequality systems. Mathematical Programming Study 1; North Holland: New York, 1974; 71-95."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB28","doi-asserted-by":"crossref","first-page":"118","DOI":"10.1016\/0097-3165(76)90055-8","volume":"21","author":"Williams","year":"1976","journal-title":"Journal of Conbinatorial Theory (A)"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB29","author":"Bacon","year":"1997","unstructured":"Fast and effective optimization of statically typed object-oriented languages. PhD thesis, U.C. Berkeley, October 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB30","author":"Gay","year":"1999","unstructured":"Stack allocating objects in Java. In preparation, 1999."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB31","author":"Muller","year":"1997","unstructured":"Harissa: a flexible and efficient Java environment mixing bytecode and compiled code. Proceedings of the Third Conference on Object-Oriented Technologies and Systems (COOTS '97), 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB32","author":"Cooper","year":"1997","unstructured":"Register promotion in C programs. Proceedings of the SIGPLAN '97 Conference on Programming Language Design and Implementation, 1997; 308-319."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB33","author":"Lo","year":"1998","unstructured":"Register promotion by sparse partial redundancy elimination of loads and stores. Proceedings of the SIGPLAN '98 Conference on Programming Language Design and Implementation, June 1998; 26-37."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB34","series-title":"LNCS","doi-asserted-by":"crossref","first-page":"223","DOI":"10.1007\/3-540-61053-7_64","volume-title":"CC '96: Sixth International Conference on Compiler Construction","author":"Choi","year":"1996","unstructured":"Incremental computation of static single assignment form. CC '96: Sixth International Conference on Compiler Construction, LNCS, 1060, April 1996; 223-237. Springer-Verlag."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB35","volume-title":"High Performance Compilers for Parallel Computing","author":"Wolfe","year":"1996","unstructured":"High Performance Compilers for Parallel Computing; Addison-Wesley: Reading, MA, 1996.3"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB36","volume":"1","author":"Briggs","year":"1988","journal-title":"Software?Practice and Experience"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB37","doi-asserted-by":"crossref","first-page":"47","DOI":"10.1016\/0096-0551(81)90048-5","volume":"6","author":"Chaitin","year":"1981","journal-title":"Computer Languages"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB38","author":"Chaitin","year":"1982","unstructured":"Register allocation and spilling via graph coloring. Proceedings of the ACM SIGPLAN '82 Symposium on Compiler Construction, June 1982; 98-105."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB39","doi-asserted-by":"crossref","first-page":"428","DOI":"10.1145\/177492.177575","volume":"16","author":"Briggs","year":"1994","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB40","first-page":"196","volume-title":"International Conference on Parallel Architectures and Compilation Techniques","author":"Park","year":"1998","unstructured":"Optimistic register coalescing. International Conference on Parallel Architectures and Compilation Techniques, (ed.), Paris, October 1998; 196-204."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB41","author":"Briggs","year":"1992","unstructured":"Register allocation via graph coloring. PhD thesis, Rice University, April 1992."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB42","author":"Bacon","year":"1998","unstructured":"Thin locks: Featherweight synchronization for Java. Proceedings of the SIGPLAN '98 Conference on Programming Language Design and Implementation, June 1998; 258-268."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB43","author":"Vitek","year":"1997","unstructured":"Efficient type inclusion tests. Proceedings OOPSLA '97, ACM SIGPLAN Notices, October 1997; 142-157."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB44","doi-asserted-by":"crossref","first-page":"1017","DOI":"10.1002\/(SICI)1096-9128(199711)9:11<1017::AID-CPE347>3.0.CO;2-0","volume":"9","author":"Krall","year":"1997","journal-title":"Concurrency: Practice and Experience"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB45","volume-title":"The Java Class Libraries","volume":"1","author":"Chan","year":"1998","unstructured":"The Java Class Libraries, Vol. 1; Addison-Wesley: Reading, MA, 1998."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB46","volume-title":"The Java Class Libraries","volume":"2","author":"Chan","year":"1998","unstructured":"The Java Class Libraries, Vol. 2; Addison-Wesley: Reading, MA, 1998."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB47","author":"Hsieh","year":"1996","unstructured":"Java bytecode to native code translation: The Caffeine prototype and preliminary results. IEEE Proceedings of the 29th Annual International Symposium on Microarchitecture, 1996."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB48","doi-asserted-by":"crossref","first-page":"67","DOI":"10.1109\/2.587551","volume":"30","author":"Hsieh","year":"1997","journal-title":"Computer"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB49","volume":"3","author":"Neffenger","year":"1998","journal-title":"JavaWorld"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB50","author":"Diwan","year":"1992","unstructured":"Compiler support for garbage collection in a statically typed language. Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation, San Francisco, CA, June 1992; 273-282."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB51","author":"Halfhill","year":"1998","journal-title":"BYTE Magazine"},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB52","author":"Proebsting","year":"1997","unstructured":"Toba: Java for applications: A way ahead of time (WAT) compiler. Proceedings of the Third Conference on Object-Oriented Technologies and Systems (COOTS '97), 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB53","year":"1998","unstructured":"The Open Group. TurboJ high performance Java compiler. http:\/\/www.camb.opengroup.com\/openitsol\/turboj\/ [February 1998]."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB54","author":"Kienle","year":"1997","unstructured":"j2s: A SUIF Java compiler. Proceedings of the Second SUIF Compiler Workshop, August 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB55","author":"Mathew","year":"1997","unstructured":"Compiling Java to SUIF: Incorporating support for object-oriented languages. Proceedings of the Second SUIF Compiler Workshop, August 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB56","year":"1998","unstructured":"Tower Technology. TowerJ, release 2. http:\/\/www.twr.com\/ [September 1998]."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB57","year":"1998","unstructured":"SuperCede, Inc. SuperCede for Java, Version 2.03, Upgrade Edition. http:\/\/www.supercede.com\/ [September 1998]."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB58","year":"1998","unstructured":"Symantec Corporation. Visual Caf\ufffd Pro. http:\/\/www.symantec.com\/ [September 1998]."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB59","author":"H\ufffdlzle","year":"1997","unstructured":"Java on steroids: Sun's high-performance Java implementation. Presentation at Hot Chips IX, Stanford, CA, USA, August 1997."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB60","year":"1998","unstructured":"Instantiations, Inc. Jove: Super optimizing deployment environment for Java. http:\/\/www.instantiations.com\/javaspeed\/jovereport.htm [July 1998]."},{"key":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2-BIB61","year":"1998","unstructured":"NaturalBridge, LLC. Bullettrain Java compiler technology. http:\/\/www.naturalbridge.com\/ [1998]."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2F(SICI)1097-024X(200003)30:3%3C199::AID-SPE296%3E3.0.CO;2-2","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/onlinelibrary.wiley.com\/wol1\/doi\/10.1002\/(SICI)1097-024X(200003)30:3%3C199::AID-SPE296%3E3.0.CO;2-2\/fullpdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,7,1]],"date-time":"2021-07-01T07:58:58Z","timestamp":1625126338000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2000,3]]},"references-count":61,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2000,3]]}},"URL":"https:\/\/doi.org\/10.1002\/(sici)1097-024x(200003)30:3<199::aid-spe296>3.0.co;2-2","relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2000,3]]}}}