{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:40:03Z","timestamp":1736642403522,"version":"3.32.0"},"reference-count":28,"publisher":"Wiley","issue":"10","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":5873,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1990,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Current compiler technology performs extensive code transformations either to parallelize code or to perform optimizations that reduce space or time. The cost of the analyses for these transformations is high and is further magnified when edits are made, forcing complete recompilation. By extending the concept of incremental compilation to include fine\u2010grained, high\u2010quality target code generation, we develop techniques that reuse the information created by an optimizing compiler to incorporate program edits efficiently into optimized target code. Our techniques include developing models of register usage for both local and global register allocation schemes and algorithms for incrementally updating these structures in response to an editing change. Based on these changes, the target code is updated. As graph colouring is a widely accepted register allocation scheme, we present techniques to rebuild and recolour interference graphs incrementally. Results from experiments that compare the performance of the incremental target code generator with its non\u2010incremental counterpart are reported, showing a saving when incorporating changes incrementally.<\/jats:p>","DOI":"10.1002\/spe.4380201005","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T00:25:26Z","timestamp":1163809526000},"page":"1015-1047","source":"Crossref","is-referenced-by-count":9,"title":["Incremental register reallocation"],"prefix":"10.1002","volume":"20","author":[{"given":"Mary P.","family":"Bivens","sequence":"first","affiliation":[]},{"given":"Mary Lou","family":"Soffa","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/357062.357066"},{"key":"e_1_2_1_3_2","doi-asserted-by":"crossref","unstructured":"FahimehJaliliandJean H.Gallier \u2018Building friendly parsers\u2019 Proceedings of ACM Ninth Symposium on Principles of Programming Languages January1982 pp.196\u2013206.","DOI":"10.1145\/582153.582175"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"Robert A.Ballance Jacob Butcher and Susan Graham \u2018Grammatical abstraction and incremental syntax analysis in a language\u2010based editor\u2019 Proceedings of SIGPLAN'88 Conference on Programming Language Design and Implementation June1988 pp.185\u2013198.","DOI":"10.1145\/960116.54009"},{"key":"e_1_2_1_5_2","doi-asserted-by":"crossref","unstructured":"Peter H.FeilerandR.Medina\u2010Mora \u2018An incremental programming environment\u2019 5th International Conference on Software Engineering 1981 pp.44\u201353.","DOI":"10.1109\/TSE.1981.231109"},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"Mayer D.Schwartz Norman M.DelisleandVimal S.Begwami \u2018Incremental compilation in Magpie\u2019 Proceedings of SIGPLAN'84 Symposium on Compiler Construction 1984 pp.122\u2013131.","DOI":"10.1145\/502949.502887"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/2166.357218"},{"key":"e_1_2_1_8_2","doi-asserted-by":"crossref","unstructured":"RayFordandDuangkaewSawamiphakdi \u2018A greedy concurrent approach to incremental code generation\u2019 Conference Record of the Twelfth Annual ACM Symposium on POPL 1985 pp.165\u2013178.","DOI":"10.1145\/318593.318634"},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"PeterFritzson \u2018Preliminary experience from the DICE system a distributed incremental compiling environment\u2019 Symposium on Practical Software Development Environments 1984 pp.113\u2013123.","DOI":"10.1145\/390010.808256"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/6465.6489"},{"key":"e_1_2_1_11_2","doi-asserted-by":"crossref","unstructured":"RobertHood KenKennedyandHausi A.Muller \u2018Efficient recompilation of module interfaces in a software development environment\u2019 Proceedings of the ACM SIGSOFT\/SIGPLAN Software Engineering Symposium on Practical Software Development Environments December1986 pp.180\u2013189.","DOI":"10.1145\/24208.24229"},{"key":"e_1_2_1_12_2","doi-asserted-by":"crossref","unstructured":"GrahamRoss \u2018Integral C\u2014a practical environment for C programming\u2019 Proceedings of the Conference on Practical Programming Environments January1987.","DOI":"10.1145\/24208.24214"},{"key":"e_1_2_1_13_2","doi-asserted-by":"crossref","unstructured":"Norman M.Delisle David E.MenicosyandMayer D.Schwartz \u2018Viewing a programming environment as a single tool\u2019 Symposium on Practical Software Development Environments 1984 pp.49\u201356.","DOI":"10.1145\/390010.808248"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(89)90014-8"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180805"},{"key":"e_1_2_1_16_2","unstructured":"K.Cooper M.HallandL.Torczon \u2018An experimental study of inline substitution\u2019 submitted for publication 1989."},{"key":"e_1_2_1_17_2","unstructured":"C. A.Huson \u2018An in\u2010line subroutine expander for Parafrase\u2019 M. S. Thesis Technical Report UIUCDCS\u2010R\u201082\u20101118 University of Illinois at Urbana\u2010Champaign December1982."},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(83)90014-6"},{"key":"e_1_2_1_19_2","unstructured":"Lori L.PollockandMary LouSoffa \u2018Incremental global optimizations for faster recompilation\u2019 Proceedings of 1990 IEEE International Conference on Computer Languages March1990."},{"key":"e_1_2_1_20_2","doi-asserted-by":"crossref","unstructured":"Lori L.PollockandMary LouSoffa \u2018Incremental compilation of locally optimized code\u2019 Conference Record of the Twelfth Annual ACM Symposium on POPL January1985 pp.152\u2013164.","DOI":"10.1145\/318593.318629"},{"key":"e_1_2_1_21_2","unstructured":"Mary P.Bivens \u2018Incremental generation of high\u2010quality target code\u2019 Ph.D. Dissertation Department of Computer Science University of Pittsburgh Pittsburgh PA 1987."},{"volume-title":"Compilers Principles, Techniques, and Tools","year":"1986","author":"Aho Alfred V.","key":"e_1_2_1_22_2"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.58766"},{"key":"e_1_2_1_24_2","doi-asserted-by":"crossref","unstructured":"G. J.Chaitin \u2018Register allocation and spilling via graph coloring\u2019 Proceedings of SIGPLAN'82 Symposium on Compiler Construction 1982 pp.98\u2013105.","DOI":"10.1145\/800230.806984"},{"key":"e_1_2_1_25_2","doi-asserted-by":"crossref","unstructured":"Frederick Chow and John Hennessy \u2018Register allocation by priority\u2010based coloring\u2019 Proceedings of SIGPLAN'84 Symposium on Compiler Construction 1984 pp.222\u2013232.","DOI":"10.1145\/502949.502896"},{"key":"e_1_2_1_26_2","first-page":"43","volume-title":"Computers and Intractability","author":"Garey M. R.","year":"1979"},{"volume-title":"Algorithmic Graph Theory and Perfect Graphs","year":"1980","key":"e_1_2_1_27_2"},{"key":"e_1_2_1_28_2","doi-asserted-by":"crossref","unstructured":"Deborah S.Coutant SueMeloyandMichelleRuscetta \u2018DOC: a practical approach to source\u2010level debugging of globally optimized code\u2019 Proceedings of SIGPLAN'88 Conference on Programming Language Design and Implementation 1988 pp.125\u2013134.","DOI":"10.1145\/960116.54003"},{"key":"e_1_2_1_29_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF00128167"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380201005","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380201005","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:01:54Z","timestamp":1736640114000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380201005"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1990,10]]},"references-count":28,"journal-issue":{"issue":"10","published-print":{"date-parts":[[1990,10]]}},"alternative-id":["10.1002\/spe.4380201005"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380201005","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1990,10]]}}}