{"id":"https://openalex.org/W2108978604","doi":"https://doi.org/10.1145/207110.207165","title":"Stack caching for interpreters","display_name":"Stack caching for interpreters","publication_year":1995,"publication_date":"1995-06-01","ids":{"openalex":"https://openalex.org/W2108978604","doi":"https://doi.org/10.1145/207110.207165","mag":"2108978604"},"language":"en","primary_location":{"id":"doi:10.1145/207110.207165","doi":"https://doi.org/10.1145/207110.207165","is_oa":true,"landing_page_url":"https://doi.org/10.1145/207110.207165","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/207110.207165","source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"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 ACM SIGPLAN 1995 conference on Programming language design and implementation","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/207110.207165","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5088009807","display_name":"M. Anton Ertl","orcid":"https://orcid.org/0000-0002-1290-9444","observed_orcids":["https://orcid.org/0000-0002-1290-9444"]},"institutions":[{"id":"https://openalex.org/I145847075","display_name":"TU Wien","ror":"https://ror.org/04d836q62","country_code":"AT","type":"education","lineage":["https://openalex.org/I145847075"]}],"countries":["AT"],"is_corresponding":true,"raw_author_name":"M. Anton Ertl","raw_affiliation_strings":["Institut f\u00fcr Computersprachen, Technische Universit\u00e4t Wien, Argentinierstra\u03b2e 8, A-1040 Wien"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Institut f\u00fcr Computersprachen, Technische Universit\u00e4t Wien, Argentinierstra\u03b2e 8, A-1040 Wien","institution_ids":["https://openalex.org/I145847075"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5088009807"],"corresponding_institution_ids":["https://openalex.org/I145847075"],"apc_list":null,"apc_paid":null,"fwci":0.7653,"has_fulltext":true,"cited_by_count":72,"citation_normalized_percentile":{"value":0.71588367,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":87,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"315","last_page":"327"},"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.7422000169754028,"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.7422000169754028,"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.24899999797344208,"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/T11424","display_name":"Security and Verification in Computing","score":0.0017999999690800905,"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/interpreter-optimization","display_name":"interpreter optimization","score":0.6899999976158142},{"id":"https://openalex.org/keywords/state-machines","display_name":"state machines","score":0.6740000247955322}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9021296501159668},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.7797639966011047},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6565628051757812},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.6046743392944336},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.5872319936752319},{"id":"https://openalex.org/C25344961","wikidata":"https://www.wikidata.org/wiki/Q192726","display_name":"Virtual machine","level":2,"score":0.5795865654945374},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5504608154296875},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5401799082756042},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5091139674186707},{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.48549869656562805},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4814852476119995},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4513196647167206},{"id":"https://openalex.org/C2871975","wikidata":"https://www.wikidata.org/wiki/Q187466","display_name":"Processor register","level":4,"score":0.4264872074127197},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.06724631786346436},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/207110.207165","doi":"https://doi.org/10.1145/207110.207165","is_oa":true,"landing_page_url":"https://doi.org/10.1145/207110.207165","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/207110.207165","source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"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 ACM SIGPLAN 1995 conference on Programming language design and implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.31.188","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.188","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://mars.cs.unp.ac.za/~jwaldron/jvm/ertl95pldi.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.5.4929","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.4929","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.complang.tuwien.ac.at/papers/ertl94sc.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.52.9222","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.9222","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.complang.tuwien.ac.at/papers/ertl94sc.ps.Z","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/207110.207165","doi":"https://doi.org/10.1145/207110.207165","is_oa":true,"landing_page_url":"https://doi.org/10.1145/207110.207165","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/207110.207165","source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"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 ACM SIGPLAN 1995 conference on Programming language design and implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2108978604.pdf","grobid_xml":"https://content.openalex.org/works/W2108978604.grobid-xml"},"referenced_works_count":14,"referenced_works":["https://openalex.org/W1503886226","https://openalex.org/W1533944741","https://openalex.org/W1555915743","https://openalex.org/W2015826981","https://openalex.org/W2017161493","https://openalex.org/W2045595627","https://openalex.org/W2113609616","https://openalex.org/W2160760912","https://openalex.org/W2162310026","https://openalex.org/W2168315159","https://openalex.org/W2339802588","https://openalex.org/W4230666895","https://openalex.org/W4249340019","https://openalex.org/W4298706908"],"related_works":["https://openalex.org/W7097761599","https://openalex.org/W1974459626","https://openalex.org/W1984653087","https://openalex.org/W7029443357","https://openalex.org/W7096660992","https://openalex.org/W1547046778","https://openalex.org/W7006063933","https://openalex.org/W2115124149","https://openalex.org/W7034985801","https://openalex.org/W3045798957"],"abstract_inverted_index":{"An":[0],"interpreter":[1],"can":[2],"spend":[3],"a":[4,90,121],"significant":[5],"part":[6],"of":[7,14,50,56,62,69,96,123],"its":[8],"execution":[9,61],"time":[10],"on":[11,44],"accessing":[12],"arguments":[13],"virtual":[15,28],"machine":[16,92],"instructions.":[17],"This":[18],"paper":[19],"explores":[20],"two":[21],"methods":[22],"to":[23,82,102,119],"reduce":[24],"this":[25],"overhead":[26],"for":[27,46,111,126],"stack":[29],"machines":[30],"by":[31],"caching":[32],"top-of-stack":[33],"values":[34],"in":[35,78,108],"(real":[36],"machine)":[37],"registers.":[38],"The":[39],"dynamic":[40],"method":[41,89],"is":[42,76,100,116],"based":[43],"having,":[45],"every":[47,124,127],"possible":[48],"state":[49,68,91,99],"the":[51,57,60,67,70,73,79,83,87,97,103],"cache,":[52],"one":[53],"specialized":[54,109],"version":[55,80,122],"whole":[58],"interpreter;":[59],"an":[63],"instruction":[64,75,125],"usually":[65],"changes":[66],"cache":[71,98,128],"and":[72],"next":[74],"executed":[77],"corresponding":[81],"new":[84],"state.":[85,129],"In":[86],"static":[88],"that":[93],"keeps":[94],"track":[95],"added":[101],"compiler.":[104],"Common":[105],"instructions":[106,132],"exist":[107],"versions":[110],"several":[112],"states,":[113],"but":[114],"it":[115],"not":[117],"necessary":[118],"have":[120],"Stack":[130],"manipulation":[131],"are":[133],"optimized":[134],"away.":[135]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":3}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
