{"id":"https://openalex.org/W2762498785","doi":"https://doi.org/10.1145/3141871.3141874","title":"Fusing method handle graphs for efficient dynamic JVM language implementations","display_name":"Fusing method handle graphs for efficient dynamic JVM language implementations","publication_year":2017,"publication_date":"2017-10-12","ids":{"openalex":"https://openalex.org/W2762498785","doi":"https://doi.org/10.1145/3141871.3141874","mag":"2762498785"},"language":"en","primary_location":{"id":"doi:10.1145/3141871.3141874","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3141871.3141874","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","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/A5101411240","display_name":"Shijie Xu","orcid":"https://orcid.org/0000-0001-6522-5778"},"institutions":[{"id":"https://openalex.org/I106938459","display_name":"University of New Brunswick","ror":"https://ror.org/05nkf0n29","country_code":"CA","type":"education","lineage":["https://openalex.org/I106938459"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Shijie Xu","raw_affiliation_strings":["University of New Brunswick, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of New Brunswick, Canada","institution_ids":["https://openalex.org/I106938459"]}]},{"author_position":"middle","author":{"id":null,"display_name":"David Bremner","orcid":null},"institutions":[{"id":"https://openalex.org/I106938459","display_name":"University of New Brunswick","ror":"https://ror.org/05nkf0n29","country_code":"CA","type":"education","lineage":["https://openalex.org/I106938459"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"David Bremner","raw_affiliation_strings":["University of New Brunswick, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of New Brunswick, Canada","institution_ids":["https://openalex.org/I106938459"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5023800413","display_name":"Daniel Heidinga","orcid":null},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Daniel Heidinga","raw_affiliation_strings":["IBM, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM, Canada","institution_ids":["https://openalex.org/I4210113654"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"18","last_page":"27"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9991000294685364,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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/computer-science","display_name":"Computer science","score":0.8569678664207458},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.7819545269012451},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5929619073867798}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8569678664207458},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.7819545269012451},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5929619073867798}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3141871.3141874","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3141871.3141874","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320323028","display_name":"Atlantic Canada Opportunities Agency","ror":"https://ror.org/03jp5g380"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":16,"referenced_works":["https://openalex.org/W1668251704","https://openalex.org/W1967716562","https://openalex.org/W1973128987","https://openalex.org/W1981602871","https://openalex.org/W2022144522","https://openalex.org/W2033370780","https://openalex.org/W2047248271","https://openalex.org/W2053610489","https://openalex.org/W2072905250","https://openalex.org/W2075090836","https://openalex.org/W2086014732","https://openalex.org/W2119401010","https://openalex.org/W2130958336","https://openalex.org/W2167997514","https://openalex.org/W2294532279","https://openalex.org/W4230422387"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2120447654","https://openalex.org/W2977179488","https://openalex.org/W2144453115","https://openalex.org/W2128223750","https://openalex.org/W4238532390","https://openalex.org/W2188872161","https://openalex.org/W2961779879","https://openalex.org/W797688974"],"abstract_inverted_index":{"A":[0],"Method":[1,38],"Handle":[2,39],"(MH)":[3],"in":[4],"JSR":[5],"292":[6],"(Supporting":[7],"Dynamically":[8],"Typed":[9],"Languages":[10],"on":[11,145,195,222,244],"the":[12,100,155,158,183,196,209,229,263,266],"JVM)":[13],"is":[14,185],"a":[15,37,47,169,186,251],"typed,":[16],"directly":[17],"executable":[18],"reference":[19],"to":[20,51,110],"an":[21,44,112],"underlying":[22],"method,":[23],"constructor,":[24],"or":[25],"field,":[26],"with":[27,99,154],"optional":[28],"method":[29,53],"type":[30],"transformations.":[31],"Multiple":[32],"connected":[33],"MHs":[34,122,144,153],"make":[35],"up":[36,250],"Graph":[40,137],"(MHG),":[41],"which":[42],"transfers":[43],"invocation":[45],"at":[46,55,76,84,162],"dynamic":[48,63,107],"call":[49,77],"site":[50],"real":[52],"implementations":[54],"runtime.":[56,164],"Despite":[57],"benefits":[58],"that":[59,189,227],"MHGs":[60,67,75],"have":[61],"for":[62,179],"JVM":[64,70],"language":[65],"implementations,":[66],"challenge":[68],"existing":[69],"optimization":[71,129],"because":[72],"a)":[73],"larger":[74],"sites":[78],"incur":[79],"higher":[80],"graph":[81,108],"traversal":[82],"costs":[83],"runtime;":[85],"and":[86,92,123,134,148,172,203,218,237,242,261],"b)":[87,246],"JIT":[88,187,270],"expenses,":[89],"including":[90],"profiling":[91],"compilation":[93],"of":[94,102,142,157,168,235,268],"individual":[95,180],"MHs,":[96,181],"increase":[97],"along":[98],"number":[101,267],"MHs.":[103],"This":[104],"paper":[105],"proposes":[106],"fusion":[109,138],"compile":[111],"MHG":[113,119],"into":[114],"another":[115],"equivalent":[116],"but":[117],"simpler":[118],"(e.g.,":[120,131],"fewer":[121],"edges),":[124],"as":[125,127],"well":[126],"related":[128],"opportunities":[130],"selection":[132],"policy":[133],"inline":[135],"caching).":[136],"dynamically":[139],"fuses":[140,190],"bytecodes":[141,161,178,192],"internal":[143,152],"hot":[146],"paths,":[147],"then":[149],"substitutes":[150],"these":[151],"instance":[156],"newly":[159],"generated":[160],"program":[163],"The":[165,174],"implementation":[166],"consists":[167],"template":[170],"system":[171],"GraphJIT.":[173],"former":[175],"emits":[176],"source":[177,191,201],"while":[182],"latter":[184],"compiler":[188],"from":[193,213],"templates":[194],"bytecode":[197],"level":[198],"(i.e.,":[199],"both":[200],"code":[202,205],"target":[204],"are":[206],"bytecodes).":[207],"With":[208],"JRuby":[210],"Micro-Indy":[211,236],"benchmark":[212,221],"Computer":[214],"Language":[215],"Benchmark":[216],"Game":[217],"JavaScript":[219],"Octane":[220,238],"Nashorn,":[223],"our":[224],"results":[225],"show":[226],"(a)":[228],"technique":[230,264],"can":[231,248],"reduce":[232],"execution":[233,254],"time":[234],"benchmarks":[239],"by":[240,255,272],"6.28%":[241],"7.73%":[243],"average;":[245],"it":[247],"speed":[249],"typical":[252],"MHG\u2019s":[253],"31.53%":[256],"using":[257],"Ahead-Of-Time":[258],"(AOT)":[259],"compilation;":[260],"(c)":[262],"reduces":[265],"MH":[269],"compilations":[271],"52.1%.":[273]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":1}],"updated_date":"2026-07-21T08:15:58.654021","created_date":"2025-10-10T00:00:00"}
