{"id":"https://openalex.org/W2045566952","doi":"https://doi.org/10.1145/2597809.2597810","title":"Efficient code generation in a region-based dynamic binary translator","display_name":"Efficient code generation in a region-based dynamic binary translator","publication_year":2014,"publication_date":"2014-06-10","ids":{"openalex":"https://openalex.org/W2045566952","doi":"https://doi.org/10.1145/2597809.2597810","mag":"2045566952"},"language":"en","primary_location":{"id":"doi:10.1145/2597809.2597810","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2597809.2597810","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems","raw_type":"proceedings-article"},"type":"conference-paper","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/A5054308553","display_name":"Tom Spink","orcid":"https://orcid.org/0000-0002-7662-3146"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tom Spink","raw_affiliation_strings":["University of Edinburgh, Edinburgh, Scotland Uk"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, Scotland Uk","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044205392","display_name":"Harry Wagstaff","orcid":"https://orcid.org/0000-0002-2079-8596"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Harry Wagstaff","raw_affiliation_strings":["University of Edinburgh, Edinburgh, Scotland Uk"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, Scotland Uk","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Bj\u00f6rn Franke","raw_affiliation_strings":["University of Edinburgh, Edinburgh, Scotland Uk"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, Scotland Uk","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027477866","display_name":"Nigel Topham","orcid":"https://orcid.org/0000-0002-6310-0602"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Nigel Topham","raw_affiliation_strings":["University of Edinburgh, Edinburgh, Scotland Uk"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, Scotland Uk","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":1.0077,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.72791651,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"3","last_page":"12"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9980000257492065,"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"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9965999722480774,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/binary-translation","display_name":"Binary translation","score":0.9455897808074951},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8900505304336548},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.7214816808700562},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7141988277435303},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.6261279582977295},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.602556586265564},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5951207876205444},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.575394868850708},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5225850343704224},{"id":"https://openalex.org/keywords/profiling","display_name":"Profiling (computer programming)","score":0.5133792161941528},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.5017108917236328},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.4907299280166626},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4862722158432007},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4827784597873688},{"id":"https://openalex.org/keywords/dynamic-compilation","display_name":"Dynamic compilation","score":0.4824545979499817},{"id":"https://openalex.org/keywords/binary-code","display_name":"Binary code","score":0.458435595035553},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"Control flow graph","score":0.4457128345966339},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.43645620346069336},{"id":"https://openalex.org/keywords/latency","display_name":"Latency (audio)","score":0.42083272337913513},{"id":"https://openalex.org/keywords/binary-number","display_name":"Binary number","score":0.37258434295654297},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3305822014808655},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2959277033805847},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.16420120000839233},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.1013076901435852}],"concepts":[{"id":"https://openalex.org/C2778971978","wikidata":"https://www.wikidata.org/wiki/Q2287075","display_name":"Binary translation","level":3,"score":0.9455897808074951},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8900505304336548},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.7214816808700562},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7141988277435303},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.6261279582977295},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.602556586265564},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5951207876205444},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.575394868850708},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5225850343704224},{"id":"https://openalex.org/C187191949","wikidata":"https://www.wikidata.org/wiki/Q1138496","display_name":"Profiling (computer programming)","level":2,"score":0.5133792161941528},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.5017108917236328},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.4907299280166626},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4862722158432007},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4827784597873688},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.4824545979499817},{"id":"https://openalex.org/C63435697","wikidata":"https://www.wikidata.org/wiki/Q864135","display_name":"Binary code","level":3,"score":0.458435595035553},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.4457128345966339},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.43645620346069336},{"id":"https://openalex.org/C82876162","wikidata":"https://www.wikidata.org/wiki/Q17096504","display_name":"Latency (audio)","level":2,"score":0.42083272337913513},{"id":"https://openalex.org/C48372109","wikidata":"https://www.wikidata.org/wiki/Q3913","display_name":"Binary number","level":2,"score":0.37258434295654297},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3305822014808655},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2959277033805847},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.16420120000839233},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.1013076901435852},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2597809.2597810","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2597809.2597810","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:publications/57f5170a-5106-4ae6-9546-ed06ef074d3d","is_oa":false,"landing_page_url":"http://hdl.handle.net/20.500.11820/57f5170a-5106-4ae6-9546-ed06ef074d3d","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3632991813","display_name":null,"funder_award_id":"EP/I013539/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W1522250664","https://openalex.org/W1527486550","https://openalex.org/W1563221445","https://openalex.org/W1565879960","https://openalex.org/W1941166084","https://openalex.org/W1964345099","https://openalex.org/W1986152061","https://openalex.org/W1990717911","https://openalex.org/W2000050212","https://openalex.org/W2008905239","https://openalex.org/W2012712337","https://openalex.org/W2030281933","https://openalex.org/W2037823608","https://openalex.org/W2047194322","https://openalex.org/W2072737419","https://openalex.org/W2073944597","https://openalex.org/W2084051015","https://openalex.org/W2094322450","https://openalex.org/W2096218937","https://openalex.org/W2103604881","https://openalex.org/W2113181828","https://openalex.org/W2114086120","https://openalex.org/W2114978795","https://openalex.org/W2128296185","https://openalex.org/W2134499232","https://openalex.org/W2134559770","https://openalex.org/W2166847391","https://openalex.org/W3162397251","https://openalex.org/W4231002400","https://openalex.org/W4239453975"],"related_works":["https://openalex.org/W3162397251","https://openalex.org/W4249170992","https://openalex.org/W2134559770","https://openalex.org/W1481491067","https://openalex.org/W2021499088","https://openalex.org/W2132071463","https://openalex.org/W3008738139","https://openalex.org/W2619569919","https://openalex.org/W2045566952","https://openalex.org/W30346349"],"abstract_inverted_index":{"Region-based":[0],"JIT":[1,135],"compilation":[2,29,136],"operates":[3],"on":[4,75,130,153,162],"translation":[5,69],"units":[6],"comprising":[7],"multiple":[8],"basic":[9],"blocks":[10],"and,":[11],"possibly":[12],"cyclic":[13],"or":[14],"conditional,":[15],"control":[16,102],"flow":[17,103],"between":[18],"these.":[19],"It":[20],"promises":[21],"to":[22,53,106,159],"reconcile":[23],"aggressive":[24],"code":[25,43,60,88,108,119],"optimisation":[26,44],"and":[27,41,68,101,143,157],"low":[28],"latency":[30],"in":[31],"performance-critical":[32],"dynamic":[33,94,125],"binary":[34,95],"translators.":[35],"Whilst":[36],"various":[37],"region":[38],"selection":[39],"schemes":[40],"isolated":[42],"techniques":[45],"have":[46,72],"been":[47],"investigated":[48],"it":[49],"remains":[50],"unclear":[51],"how":[52],"best":[54],"exploit":[55],"such":[56],"regions":[57],"for":[58,91,110],"efficient":[59],"generation.":[61],"Complex":[62],"interactions":[63],"with":[64],"indirect":[65],"branch":[66,99],"tables":[67],"caches":[70],"can":[71,127],"adverse":[73],"effects":[74],"performance":[76],"if":[77],"not":[78],"considered":[79],"carefully.":[80],"In":[81],"this":[82],"paper":[83],"we":[84,148],"present":[85],"a":[86,92,122,163,173],"complete":[87],"generation":[89,120],"strategy":[90,121],"region-based":[93,124],"translator,":[96],"which":[97],"exploits":[98],"type":[100],"profiling":[104],"information":[105],"improve":[107],"quality":[109],"the":[111,133,139],"common":[112],"case.":[113],"We":[114],"demonstrate":[115],"that":[116],"using":[117],"our":[118],"competitive":[123],"compiler":[126],"be":[128],"built":[129],"top":[131],"of":[132,175],"LLVM":[134],"framework.":[137],"For":[138],"ARM-V5T":[140],"target":[141],"ISA":[142],"SPEC":[144],"CPU":[145],"2006":[146],"benchmarks":[147],"achieve":[149],"execution":[150],"rates":[151],"of,":[152],"average,":[154],"867":[155],"MIPS":[156,161],"up":[158],"1323":[160],"standard":[164],"X86":[165],"host":[166],"machine,":[167],"outperforming":[168],"state-of-the-art":[169],"QEMU-ARM":[170],"by":[171],"delivering":[172],"speedup":[174],"264%.":[176]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":4}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
