iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: https://api.crossref.org/works/10.1002/SPE.604
{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,17]],"date-time":"2023-11-17T02:42:42Z","timestamp":1700188962041},"reference-count":29,"publisher":"Wiley","issue":"11","license":[{"start":{"date-parts":[[2004,6,7]],"date-time":"2004-06-07T00:00:00Z","timestamp":1086566400000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[2004,9]]},"abstract":"Abstract<\/jats:title>We present a new memory access optimization for Java to perform aggressive code motion for speculatively optimizing memory accesses by applying partial redundancy elimination (PRE) techniques. First, to reduce as many barriers as possible and to enhance code motion, we perform alias analysis<\/jats:italic> to identify all the regions in which each object reference is not aliased. Secondly, we find all the possible barriers. Finally, we perform code motions in three steps. For the first step, we apply a non\u2010speculative PRE algorithm to move load instructions and their following instructions in the backwards direction of the control flow graph. For the second step, we apply a speculative PRE algorithm to move some of them aggressively before the conditional branches. For the third step, we apply our modified version of a non\u2010speculative PRE algorithm to move store instructions in the forward direction of the control flow graph and to even move some of them after the merge points. We implemented our new algorithm in our production\u2010level Java just\u2010in\u2010time compiler. Our experimental results show that our speculative algorithm improves the average (maximum) performance by 13.1% (90.7%) for jBYTEmark and 1.4% (4.4%) for SPECjvm98 over the fastest algorithm previously described, while it increases the average (maximum) compilation time by 0.9% (2.9%) for both benchmark suites. Copyright \u00a9 2004 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/spe.604","type":"journal-article","created":{"date-parts":[[2004,6,7]],"date-time":"2004-06-07T17:07:38Z","timestamp":1086628058000},"page":"1065-1090","source":"Crossref","is-referenced-by-count":10,"title":["Partial redundancy elimination for access expressions by speculative code motion"],"prefix":"10.1002","volume":"34","author":[{"given":"Motohiro","family":"Kawahito","sequence":"first","affiliation":[]},{"given":"Hideaki","family":"Komatsu","sequence":"additional","affiliation":[]},{"given":"Toshio","family":"Nakatani","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2004,6,7]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380240104"},{"key":"e_1_2_1_3_2","first-page":"308","volume-title":"Conference on Programming Language Design and Implementation","author":"Cooper KD","year":"1997"},{"key":"e_1_2_1_4_2","first-page":"26","volume-title":"Conference on Programming Language Design and Implementation","author":"Lo R","year":"1998"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.371"},{"key":"e_1_2_1_6_2","first-page":"77","volume-title":"Proceedings of the 9th European Conference on Object\u2010Oriented Programming (ECOOP '95)","author":"Dean J","year":"1995"},{"key":"e_1_2_1_7_2","first-page":"142","volume-title":"Proceedings of the 10th European Conference on Object\u2010Oriented Programming (ECOOP '96)","author":"Aigner G","year":"1996"},{"key":"e_1_2_1_8_2","volume-title":"Proceedings of the International Conference on Object\u2010Oriented Programming, Systems, Languages, and Applications","author":"Ishizaki K","year":"2000"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.391.0175"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379234"},{"key":"e_1_2_1_11_2","volume-title":"Proceedings of the ACM SIGPLAN Java Grande Conference","author":"Ishizaki K","year":"1999"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/183432.183443"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCSSE.1997.599882"},{"key":"e_1_2_1_14_2","volume-title":"IEEE Conference on Computer Languages","author":"Gupta R","year":"1998"},{"key":"e_1_2_1_15_2","first-page":"1","volume-title":"Languages and Compilers for Parallel Computing","author":"Bodik R","year":"1995"},{"key":"e_1_2_1_16_2","first-page":"64","volume-title":"SIGPLAN Conference on Programming Language Design and Implementation","author":"Bodik R","year":"1999"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45099-3_9"},{"key":"e_1_2_1_18_2","volume-title":"Advanced Compiler Design and Implementation","author":"Muchnick SS","year":"1997"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379242"},{"key":"e_1_2_1_20_2","volume-title":"The Java Language Specification","author":"Gosling J","year":"1996"},{"key":"e_1_2_1_21_2","first-page":"1","volume-title":"SIGPLAN Conference on Programming Language Design and Implementation","author":"Bodik R","year":"1998"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45102-1_21"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/304065.304106"},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349343"},{"key":"e_1_2_1_25_2","first-page":"187","volume-title":"Conference on Programming Language Design and Implementation (PLDI)","author":"Kawahito M","year":"2002"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349342"},{"key":"e_1_2_1_27_2","unstructured":"Standard Performance Evaluation Corp. Spec jvm98 benchmarks.http:\/\/www.spec.org\/osg\/jvm98\/[6 April2004]."},{"key":"e_1_2_1_28_2","volume-title":"Proceedings of the International Conference on Object\u2010Oriented Programming, Systems, Languages, and Applications","author":"Suganuma T","year":"2001"},{"key":"e_1_2_1_29_2","doi-asserted-by":"crossref","first-page":"58","DOI":"10.1145\/605397.605404","volume-title":"Conference on Architectural Support for Programming Language and Operating Systems","author":"Ogata K","year":"2002"},{"key":"e_1_2_1_30_2","first-page":"85","volume-title":"Conference on Programming Language Design and Implementation","author":"Wagner TA","year":"1994"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.604","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.604","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,17]],"date-time":"2023-11-17T02:20:22Z","timestamp":1700187622000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.604"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,6,7]]},"references-count":29,"journal-issue":{"issue":"11","published-print":{"date-parts":[[2004,9]]}},"alternative-id":["10.1002\/spe.604"],"URL":"http:\/\/dx.doi.org\/10.1002\/spe.604","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,6,7]]}}}