{"id":"https://openalex.org/W4387781651","doi":"https://doi.org/10.1145/3617651.3622979","title":"CacheIR: The Benefits of a Structured Representation for Inline Caches","display_name":"CacheIR: The Benefits of a Structured Representation for Inline Caches","publication_year":2023,"publication_date":"2023-10-19","ids":{"openalex":"https://openalex.org/W4387781651","doi":"https://doi.org/10.1145/3617651.3622979"},"language":"en","primary_location":{"id":"doi:10.1145/3617651.3622979","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3617651.3622979","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes","raw_type":"proceedings-article"},"type":"article","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/A5001044724","display_name":"Jan de Mooij","orcid":"https://orcid.org/0000-0003-4129-6074"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Jan de Mooij","raw_affiliation_strings":["Mozilla, Utrecht, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Mozilla, Utrecht, Netherlands","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5018287320","display_name":"Matthew Gaudet","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Matthew Gaudet","raw_affiliation_strings":["Mozilla, Toronto, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Mozilla, Toronto, Canada","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023755985","display_name":"Iain Ireland","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Iain Ireland","raw_affiliation_strings":["Mozilla, Toronto, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Mozilla, Toronto, Canada","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5018158964","display_name":"Nathan Henderson","orcid":"https://orcid.org/0000-0001-8092-9546"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Nathan Henderson","raw_affiliation_strings":["University of Alberta, Edmonton, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5048554669","display_name":"Jos\u00e9 Nelson Amaral","orcid":"https://orcid.org/0000-0002-9943-1809"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"J. Nelson Amaral","raw_affiliation_strings":["University of Alberta, Edmonton, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Canada","institution_ids":["https://openalex.org/I154425047"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5001044724"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.4939,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.818071,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"34","last_page":"46"},"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.9998999834060669,"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.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9973999857902527,"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/computer-science","display_name":"Computer science","score":0.8837069272994995},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5485115051269531},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5154710412025452},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5094683766365051},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.5049474835395813},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.47844934463500977},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.42729777097702026},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.42697083950042725},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4221014380455017},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3978360593318939},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3794266879558563},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.33634063601493835}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8837069272994995},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5485115051269531},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5154710412025452},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5094683766365051},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5049474835395813},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.47844934463500977},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.42729777097702026},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.42697083950042725},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4221014380455017},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3978360593318939},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3794266879558563},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.33634063601493835},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3617651.3622979","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3617651.3622979","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":12,"referenced_works":["https://openalex.org/W1993318777","https://openalex.org/W2010448353","https://openalex.org/W2057510141","https://openalex.org/W2058639022","https://openalex.org/W2094269821","https://openalex.org/W2114067856","https://openalex.org/W2953561315","https://openalex.org/W2998550884","https://openalex.org/W3005541700","https://openalex.org/W3030068990","https://openalex.org/W4235041803","https://openalex.org/W4237352773"],"related_works":["https://openalex.org/W4240253816","https://openalex.org/W3096456556","https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4321184925","https://openalex.org/W2255990315","https://openalex.org/W60915090","https://openalex.org/W2025840053","https://openalex.org/W2161692994"],"abstract_inverted_index":{"Inline":[0],"Caching":[1],"is":[2],"an":[3,52,107],"important":[4],"technique":[5],"used":[6],"to":[7,109],"accelerate":[8],"operations":[9],"in":[10,102,139],"dynamically":[11],"typed":[12],"language":[13],"implementations":[14],"by":[15,63,97],"creating":[16],"fast":[17],"paths":[18],"based":[19],"on":[20],"observed":[21],"program":[22],"behaviour.Most":[23],"software":[24],"stacks":[25],"that":[26,92,113],"support":[27],"inline":[28,47],"caching":[29,48],"use":[30],"lowlevel,":[31],"often":[32],"ad-hoc,":[33],"Inline-Cache":[34],"(ICs)":[35],"data":[36],"structures":[37],"for":[38,46,86,115,131],"code":[39,74,96],"generation.This":[40],"work":[41,80],"presents":[42],"CacheIR,":[43],"a":[44,83,87],"design":[45,85],"built":[49],"entirely":[50],"around":[51],"intermediate":[53],"representation":[54],"(IR)":[55],"which:":[56],"(i)":[57],"simplifies":[58],"the":[59,65,99,110,132],"development":[60],"of":[61,118,122],"ICs":[62],"raising":[64],"abstraction":[66],"level;":[67],"and":[68,104,124,135],"(ii)":[69],"enables":[70],"reusing":[71],"compiled":[72],"native":[73],"through":[75],"IR":[76],"matching":[77],"techniques.Moreover,":[78],"this":[79],"describes":[81],"WarpBuilder,":[82],"novel":[84],"Just-In-Time":[88],"(JIT)":[89],"compiler":[90],"front-end":[91],"directly":[93],"generates":[94],"type-specialized":[95],"lowering":[98],"CacheIR":[100,123],"contained":[101],"ICs;":[103],"Trial":[105],"Inlining,":[106],"extension":[108],"inline-caching":[111],"system":[112],"allows":[114],"context-sensitive":[116,119],"inlining":[117],"ICs.The":[120],"combination":[121],"WarpBuilder":[125],"have":[126,136],"been":[127,137],"powerful":[128],"performance":[129,142],"tools":[130],"SpiderMonkey":[133],"team,":[134],"key":[138],"providing":[140],"improved":[141],"with":[143],"less":[144],"security":[145],"risk.":[146]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1}],"updated_date":"2026-04-26T08:31:28.666265","created_date":"2025-10-10T00:00:00"}
