{"id":"https://openalex.org/W1966822983","doi":"https://doi.org/10.1145/2602988.2602994","title":"Allocation folding based on dominance","display_name":"Allocation folding based on dominance","publication_year":2014,"publication_date":"2014-06-10","ids":{"openalex":"https://openalex.org/W1966822983","doi":"https://doi.org/10.1145/2602988.2602994","mag":"1966822983"},"language":"en","primary_location":{"id":"doi:10.1145/2602988.2602994","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2602988.2602994","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 international symposium on Memory management","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/A5066486142","display_name":"Daniel Clifford","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Daniel Clifford","raw_affiliation_strings":["Google, Munich, Germany"],"affiliations":[{"raw_affiliation_string":"Google, Munich, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5071536109","display_name":"Hannes Payer","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hannes Payer","raw_affiliation_strings":["Google, Munich, Germany"],"affiliations":[{"raw_affiliation_string":"Google, Munich, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002473478","display_name":"Michael Starzinger","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael Starzinger","raw_affiliation_strings":["Google, Munich, Germany"],"affiliations":[{"raw_affiliation_string":"Google, Munich, Germany","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5034437441","display_name":"Ben L. Titzer","orcid":"https://orcid.org/0000-0002-9690-2089"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Ben L. Titzer","raw_affiliation_strings":["Google, Munich, Germany"],"affiliations":[{"raw_affiliation_string":"Google, Munich, Germany","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5066486142"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9451,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.74051658,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"15","last_page":"24"},"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.9995999932289124,"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.9995999932289124,"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.9990000128746033,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9988999962806702,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8092248439788818},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.7736131548881531},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.5616376996040344},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.5229145288467407},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.4888429045677185},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.45524001121520996},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.4266047775745392},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2417641282081604},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.22850850224494934},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12882977724075317}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8092248439788818},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.7736131548881531},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.5616376996040344},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.5229145288467407},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.4888429045677185},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.45524001121520996},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.4266047775745392},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2417641282081604},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.22850850224494934},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12882977724075317},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.0},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2602988.2602994","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2602988.2602994","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 international symposium on Memory management","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.674.1366","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.674.1366","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/42478.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1967716562","https://openalex.org/W1973128987","https://openalex.org/W1986459908","https://openalex.org/W1993501089","https://openalex.org/W2042059673","https://openalex.org/W2047248271","https://openalex.org/W2049384349","https://openalex.org/W2070566991","https://openalex.org/W2079366392","https://openalex.org/W2095496535","https://openalex.org/W2100613797","https://openalex.org/W2114404773","https://openalex.org/W2130958336","https://openalex.org/W2147299991","https://openalex.org/W2151551138","https://openalex.org/W3031203502","https://openalex.org/W4232193387","https://openalex.org/W4241461925"],"related_works":["https://openalex.org/W2766468145","https://openalex.org/W92825922","https://openalex.org/W2944895246","https://openalex.org/W4379518516","https://openalex.org/W2390958073","https://openalex.org/W4379141974","https://openalex.org/W3104774169","https://openalex.org/W2018768276","https://openalex.org/W2043465108","https://openalex.org/W2116461111"],"abstract_inverted_index":{"Memory":[0],"management":[1],"system":[2],"performance":[3,179,196],"is":[4,159,193],"of":[5,15,21,202],"increasing":[6],"importance":[7],"in":[8,46,70,88,103,121,146,169,199],"today's":[9],"managed":[10],"languages.":[11],"Two":[12],"lingering":[13],"sources":[14],"overhead":[16],"are":[17,93],"the":[18,37,104,122,144,182,200],"direct":[19],"costs":[20],"memory":[22,43],"allocations":[23,163],"and":[24,63,100,131,165,184,188,215],"write":[25,114],"barriers.":[26],"This":[27],"paper":[28],"introduces":[29],"it":[30,54,109,158],"allocation":[31,44,55,58,91,99,124,134,148,191,218],"folding,":[32],"an":[33,147,171],"optimization":[34],"technique":[35],"where":[36,217],"virtual":[38,175],"machine":[39],"automatically":[40],"folds":[41],"multiple":[42,61],"operations":[45],"optimized":[47],"code":[48],"together":[49,164],"into":[50],"a":[51,66,71,77,89,194,221],"single,":[52],"larger":[53],"group.":[56,125,149],"An":[57],"group":[59,92],"comprises":[60],"objects":[62,86,120,145],"requires":[64,136],"just":[65],"single":[67,90],"bounds":[68],"check":[69,78],"bump-pointer":[72],"style":[73],"allocation,":[74],"rather":[75],"than":[76],"for":[79,116,181],"each":[80],"individual":[81],"object.":[82],"More":[83],"importantly,":[84],"all":[85],"allocated":[87],"guaranteed":[94],"to":[95,111,155,161],"be":[96],"contiguous":[97],"after":[98],"thus":[101],"exist":[102],"same":[105,123],"generation,":[106],"which":[107],"makes":[108],"possible":[110],"statically":[112],"remove":[113],"barriers":[115],"reference":[117],"stores":[118],"involving":[119],"Unlike":[126],"object":[127,129,132],"inlining,":[128],"fusing,":[130],"colocation,":[133],"folding":[135,192,219],"no":[137],"special":[138],"connectivity":[139],"or":[140],"ownership":[141],"relation":[142],"between":[143],"We":[150,177],"present":[151,178],"our":[152,167],"analysis":[153],"algorithm":[154],"determine":[156],"when":[157],"safe":[160],"fold":[162],"discuss":[166],"implementation":[168],"V8,":[170],"open-source,":[172],"production":[173],"JavaScript":[174],"machine.":[176],"results":[180],"Octane":[183],"Kraken":[185],"benchmark":[186],"suites":[187],"show":[189],"that":[190],"strong":[195],"improvement,":[197],"even":[198],"presence":[201],"some":[203],"heap":[204],"fragmentation.":[205],"Additionally,":[206],"we":[207],"use":[208],"four":[209],"hand-selected":[210],"benchmarks":[211],"JPEGEncoder,":[212],"NBody,":[213],"Soft3D,":[214],"Textwriter":[216],"has":[220],"large":[222],"impact.":[223]},"counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
