{"id":"https://openalex.org/W2030281933","doi":"https://doi.org/10.1145/504282.504295","title":"Partial method compilation using dynamic profile information","display_name":"Partial method compilation using dynamic profile information","publication_year":2001,"publication_date":"2001-10-01","ids":{"openalex":"https://openalex.org/W2030281933","doi":"https://doi.org/10.1145/504282.504295","mag":"2030281933"},"language":"en","primary_location":{"id":"doi:10.1145/504282.504295","doi":"https://doi.org/10.1145/504282.504295","is_oa":false,"landing_page_url":"https://doi.org/10.1145/504282.504295","pdf_url":null,"source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5038224513","display_name":"John Whaley","orcid":"https://orcid.org/0000-0003-1441-6982","observed_orcids":["https://orcid.org/0000-0003-1441-6982"]},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"John Whaley","raw_affiliation_strings":["Computer Systems Laboratory, Stanford University, Stanford, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Computer Systems Laboratory, Stanford University, Stanford, CA","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5038224513"],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":null,"apc_paid":null,"fwci":4.7966,"has_fulltext":false,"cited_by_count":82,"citation_normalized_percentile":{"value":0.95538818,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":87,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"166","last_page":"179"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.7484999895095825,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.7484999895095825,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.23499999940395355,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.0017999999690800905,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/dynamic-compilation","display_name":"dynamic compilation","score":0.8029999732971191},{"id":"https://openalex.org/keywords/dynamic-profiling","display_name":"dynamic profiling","score":0.6489999890327454},{"id":"https://openalex.org/keywords/branch-prediction","display_name":"branch prediction","score":0.7149999737739563},{"id":"https://openalex.org/keywords/dead-code-elimination","display_name":"dead code elimination","score":0.7770000100135803},{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"pointer analysis","score":0.968999981880188},{"id":"https://openalex.org/keywords/escape-analysis","display_name":"escape analysis","score":0.9940000176429749},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6859999895095825},{"id":"https://openalex.org/keywords/compilation-time-reduction","display_name":"compilation time reduction","score":0.5389999747276306}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8915286660194397},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.8572756052017212},{"id":"https://openalex.org/C177774035","wikidata":"https://www.wikidata.org/wiki/Q1246948","display_name":"Granularity","level":2,"score":0.8092752695083618},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.7902209758758545},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7471780776977539},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.6563692092895508},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6291813850402832},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.6059113144874573},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.6016132235527039},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5144975185394287},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.4905163645744324},{"id":"https://openalex.org/C92966194","wikidata":"https://www.wikidata.org/wiki/Q651794","display_name":"Compiled language","level":4,"score":0.448800653219223},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4359495937824249},{"id":"https://openalex.org/C2144512","wikidata":"https://www.wikidata.org/wiki/Q1143090","display_name":"Dead code elimination","level":5,"score":0.43565860390663147},{"id":"https://openalex.org/C195701839","wikidata":"https://www.wikidata.org/wiki/Q4008398","display_name":"Partial evaluation","level":2,"score":0.43301093578338623},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.43087685108184814},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4024932384490967},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.2577466368675232},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2355813980102539},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.10120067000389099},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.08975556492805481},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/504282.504295","doi":"https://doi.org/10.1145/504282.504295","is_oa":false,"landing_page_url":"https://doi.org/10.1145/504282.504295","pdf_url":null,"source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.13.2924","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.2924","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.stanford.edu/~jwhaley/papers/oopsla01.ps","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":45,"referenced_works":["https://openalex.org/W4015096","https://openalex.org/W1486715193","https://openalex.org/W1503979140","https://openalex.org/W1514258760","https://openalex.org/W1553379359","https://openalex.org/W1631331437","https://openalex.org/W1964647125","https://openalex.org/W1966708457","https://openalex.org/W1988827547","https://openalex.org/W2002920670","https://openalex.org/W2004337747","https://openalex.org/W2007920703","https://openalex.org/W2008438324","https://openalex.org/W2013724146","https://openalex.org/W2016909415","https://openalex.org/W2020591648","https://openalex.org/W2036918610","https://openalex.org/W2054399553","https://openalex.org/W2063255488","https://openalex.org/W2068219251","https://openalex.org/W2072737419","https://openalex.org/W2075651377","https://openalex.org/W2077850509","https://openalex.org/W2084451631","https://openalex.org/W2093760065","https://openalex.org/W2101134669","https://openalex.org/W2105090082","https://openalex.org/W2114067856","https://openalex.org/W2116672403","https://openalex.org/W2123160336","https://openalex.org/W2129276112","https://openalex.org/W2129962996","https://openalex.org/W2133979298","https://openalex.org/W2143602127","https://openalex.org/W2160630279","https://openalex.org/W2166639949","https://openalex.org/W2242293693","https://openalex.org/W2912126004","https://openalex.org/W2998283004","https://openalex.org/W4230296794","https://openalex.org/W4230660672","https://openalex.org/W4232576303","https://openalex.org/W4237994905","https://openalex.org/W4249816678","https://openalex.org/W4251301751"],"related_works":["https://openalex.org/W2086394627","https://openalex.org/W2037823608","https://openalex.org/W7097908690","https://openalex.org/W2061483729","https://openalex.org/W4239453975","https://openalex.org/W168456742","https://openalex.org/W1479768891","https://openalex.org/W3004536583","https://openalex.org/W6884630309","https://openalex.org/W7095552610"],"abstract_inverted_index":{"The":[0],"traditional":[1],"tradeoff":[2],"when":[3],"performing":[4,62],"dynamic":[5,18,73],"compilation":[6,11,19,25,63],"is":[7,33,46,105,132,188],"that":[8,81,99,131],"of":[9,122,179],"fast":[10,14],"time":[12,141,196],"versus":[13],"code":[15,79,92,130,153,169],"performance.":[16,149],"Most":[17],"systems":[20],"for":[21,61],"Java":[22],"perform":[23],"selective":[24],"and/or":[26],"optimization":[27,158],"at":[28,42,66,108],"a":[29,43,58,67,97],"method":[30],"granularity.":[31,70],"This":[32,55],"the":[34,36,91,115,123,161,194],"not":[35],"optimal":[37],"granularity":[38,45],"level.":[39],"However,":[40],"compiling":[41,127],"sub-method":[44,69],"thought":[47],"to":[48,52,76,102,114,138,145,190],"be":[49,53,103],"too":[50],"complicated":[51],"practical.":[54],"paper":[56],"describes":[57],"straightforward":[59],"technique":[60,187],"and":[64,87,89,128,171,174],"optimizations":[65],"finer,":[68],"We":[71,164],"utilize":[72],"profile":[74],"data":[75],"determine":[77],"intra-method":[78],"regions":[80],"are":[82,136],"rarely":[83,133],"or":[84,117],"never":[85],"executed,":[86,134],"compile":[88,119,140,195],"optimize":[90],"without":[93],"those":[94],"regions.":[95],"If":[96],"branch":[98],"was":[100],"predicted":[101],"rare":[104,180],"actually":[106],"taken":[107],"run":[109],"time,":[110],"we":[111,135],"fall":[112],"back":[113],"interpreter":[116],"dynamically":[118],"another":[120],"version":[121],"code.":[124],"By":[125],"avoiding":[126],"optimizing":[129],"able":[137,189],"decrease":[139],"significantly,":[142],"with":[143],"little":[144],"no":[146],"degradation":[147],"in":[148],"Futhermore,":[150],"ignoring":[151],"rarely-executed":[152],"can":[154],"open":[155],"up":[156],"more":[157],"opportunities":[159],"on":[160],"common":[162],"paths.":[163],"present":[165],"two":[166],"optimizations---partial":[167],"dead":[168],"elimination":[170],"rare-path-sensitive":[172],"pointer":[173],"escape":[175],"analysis---that":[176],"take":[177],"advantage":[178],"path":[181],"information.":[182],"Using":[183],"these":[184],"optimizations,":[185],"our":[186],"improve":[191],"performance":[192],"beyond":[193],"improvements":[197]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":4}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
