{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:27:37Z","timestamp":1750220857748,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":25,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,2,22]],"date-time":"2020-02-22T00:00:00Z","timestamp":1582329600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1527065,1512937"],"award-info":[{"award-number":["1527065,1512937"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,2,22]]},"DOI":"10.1145\/3368826.3377907","type":"proceedings-article","created":{"date-parts":[[2020,2,21]],"date-time":"2020-02-21T21:49:28Z","timestamp":1582321768000},"page":"16-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Type freezing: exploiting attribute type monomorphism in tracing JIT compilers"],"prefix":"10.1145","author":[{"given":"Lin","family":"Cheng","sequence":"first","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Berkin","family":"Ilbeyi","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]},{"given":"Carl Friedrich","family":"Bolz-Tereick","sequence":"additional","affiliation":[{"name":"University of D\u00fcsseldorf, Germany"}]},{"given":"Christopher","family":"Batten","sequence":"additional","affiliation":[{"name":"Cornell University, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,2,22]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Checked Load: Architectural Support for JavaScript Type-Checking on Mobile Processors. Int\u2019l Symp. on High-Performance Computer Architecture (HPCA) (Feb","author":"Anderson Owen","year":"2011","unstructured":"Owen Anderson, Emily Fortuna, Luis Ceze, and Susan Eggers. 2011. Checked Load: Architectural Support for JavaScript Type-Checking on Mobile Processors. Int\u2019l Symp. on High-Performance Computer Architecture (HPCA) (Feb 2011)."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2069172.2069181"},{"key":"e_1_3_2_1_4_1","volume-title":"Storage Strategies for Collections in Dynamically Typed Languages. ACM SIGPLAN conf. on Systems, Programming, Languages, and Applications (OOPSLA) (Oct","author":"Bolz Carl Friedrich","year":"2013","unstructured":"Carl Friedrich Bolz, Lukas Diekmann, and Laurence Tratt. 2013. Storage Strategies for Collections in Dynamically Typed Languages. ACM SIGPLAN conf. on Systems, Programming, Languages, and Applications (OOPSLA) (Oct 2013)."},{"key":"e_1_3_2_1_5_1","volume-title":"The Impact of MetaTracing on VM Design &amp","author":"Bolz Carl Friedrich","year":"2015","unstructured":"Carl Friedrich Bolz and Laurence Tratt. 2015. The Impact of MetaTracing on VM Design &amp; Implementation. Science of Computer Prog. 98 (Aug 2015), 408\u2013421."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9203-2"},{"key":"e_1_3_2_1_7_1","volume-title":"The 2018 Top Programming Languages","author":"Cass Stephen","year":"2018","unstructured":"Stephen Cass. 2018. The 2018 Top Programming Languages. IEEE Spectrum (Jul 2018)."},{"key":"e_1_3_2_1_8_1","volume-title":"An Efficient Implementation of SELF A Dynamically-Typed Object-Oriented Language Based on Prototypes. ACM SIGPLAN conf. on Systems, Programming, Languages, and Applications (OOPSLA) (Oct","author":"Chambers Craig","year":"1989","unstructured":"Craig Chambers, David Ungar, and Elgin Lee. 1989. An Efficient Implementation of SELF A Dynamically-Typed Object-Oriented Language Based on Prototypes. ACM SIGPLAN conf. on Systems, Programming, Languages, and Applications (OOPSLA) (Oct 1989)."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3079856.3080237"},{"key":"e_1_3_2_1_10_1","volume-title":"Analysis and Optimization of Engines for Dynamically Typed Languages. Int\u2019l Symp. on Computer Architecture and High Performance Computing (SBAC-PAD) (Oct","author":"Dot Gem","year":"2015","unstructured":"Gem Dot, Alejandro Mart\u00ednez, and Antonio Gonz\u00e1lez. 2015. Analysis and Optimization of Engines for Dynamically Typed Languages. Int\u2019l Symp. on Computer Architecture and High Performance Computing (SBAC-PAD) (Oct 2015)."},{"key":"e_1_3_2_1_11_1","volume-title":"Erico: Effective Removal of Inline Caching Overhead in Dynamic Typed Languages. Int\u2019l Conf. on High-Performance Computing (HIPC) (Dec","author":"Dot Gem","year":"2016","unstructured":"Gem Dot, Alejandro Mart\u00ednez, and Antonio Gonz\u00e1lez. 2016. Erico: Effective Removal of Inline Caching Overhead in Dynamic Typed Languages. Int\u2019l Conf. on High-Performance Computing (HIPC) (Dec 2016)."},{"key":"e_1_3_2_1_12_1","volume-title":"Removing Checks in Dynamically Typed Languages Through Efficient Profiling. Int\u2019l Symp. on Code Generation and Optimization (CGO) (Feb","author":"Dot Gem","year":"2017","unstructured":"Gem Dot, Alejandro Mart\u00ednez, and Antonio Gonz\u00e1lez. 2017. Removing Checks in Dynamically Typed Languages Through Efficient Profiling. Int\u2019l Symp. on Code Generation and Optimization (CGO) (Feb 2017)."},{"key":"e_1_3_2_1_13_1","volume-title":"Trace-based Just-in-Time Type Specialization for Dynamic Languages. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI) (Jun","author":"Gal Andreas","year":"2009","unstructured":"Andreas Gal, Brendan Eich, Mike Shaver, David Anderson, David Mandelin, Mohammad R. Haghighat, Blake Kaplan, Graydon Hoare, Boris Zbarsky, Jason Orendorff, Jesse Ruderman, Edwin Smith, Rick Reitmaier, Michael Bebenita, Mason Chang, and Michael Franz. 2009. Trace-based Just-in-Time Type Specialization for Dynamic Languages. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI) (Jun 2009)."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134760.1134780"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2345156.2254094"},{"key":"e_1_3_2_1_16_1","volume-title":"Evaluating The Dynamic Behaviour of Python Applications. Australasian Conference on Computer Science (Jan","author":"Holkner Alex","year":"2009","unstructured":"Alex Holkner and James Harland. 2009. Evaluating The Dynamic Behaviour of Python Applications. Australasian Conference on Computer Science (Jan 2009)."},{"key":"e_1_3_2_1_17_1","volume-title":"Cross-Layer Workload Characterization of Meta-Tracing JIT VMs. Int\u2019l Symp. on Workload Characterization (IISWC) (Oct","author":"Ilbeyi Berkin","year":"2017","unstructured":"Berkin Ilbeyi, Carl Friedrich Bolz-Tereick, and Christopher Batten. 2017. Cross-Layer Workload Characterization of Meta-Tracing JIT VMs. Int\u2019l Symp. on Workload Characterization (IISWC) (Oct 2017)."},{"key":"e_1_3_2_1_18_1","unstructured":"JavaScriptCore 2019. JavaScriptCore. Online Webpage. https:\/\/trac.webkit.org\/wiki\/JavaScriptCore ."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037726"},{"key":"e_1_3_2_1_20_1","volume-title":"Tracing Dynamic Features in Python Programs. Working Conf. on Mining Software Repositories (May","author":"\u00c5kerblom Beatrice","year":"2014","unstructured":"Beatrice \u00c5kerblom, Jonathan Stendahl, Mattias Tumlin, and Tobias Wrigstad. 2014. Tracing Dynamic Features in Python Programs. Working Conf. on Mining Software Repositories (May 2014)."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1014198.804311"},{"key":"e_1_3_2_1_22_1","volume-title":"Systems &amp","author":"Jr Elder Rodrigues","year":"2018","unstructured":"Elder Rodrigues Jr and Ricardo Terra. 2018. How Do Developers Use Dynamic Features? The Case of Ruby. Computer Languages, Systems &amp; Structures 53 (Sep 2018), 73\u201389."},{"key":"e_1_3_2_1_23_1","volume-title":"NoMap: Speeding-Up JavaScript Using Hardware Transactional Memory. Int\u2019l Symp. on High-Performance Computer Architecture (HPCA) (Feb","author":"Shull Thomas","year":"2019","unstructured":"Thomas Shull, Jiho Choi, Maria J Garzaran, and Josep Torrellas. 2019. NoMap: Speeding-Up JavaScript Using Hardware Transactional Memory. Int\u2019l Symp. on High-Performance Computer Architecture (HPCA) (Feb 2019)."},{"key":"e_1_3_2_1_24_1","volume-title":"Rethinking The Memory Hierarchy for Modern Languages. Int\u2019l Symp. on Microarchitecture (MICRO) (Oct","author":"Tsai Po-An","year":"2018","unstructured":"Po-An Tsai, Yee Ling Gan, and Daniel Sanchez. 2018. Rethinking The Memory Hierarchy for Modern Languages. Int\u2019l Symp. on Microarchitecture (MICRO) (Oct 2018)."},{"key":"e_1_3_2_1_25_1","volume-title":"Self-Optimizing AST Interpreters. Symp. on Dynamic Languages (Oct","author":"W\u00fcrthinger Thomas","year":"2012","unstructured":"Thomas W\u00fcrthinger, Andreas W\u00f6\u00df, Lukas Stadler, Gilles Duboscq, Doug Simon, and Christian Wimmer. 2012. Self-Optimizing AST Interpreters. Symp. on Dynamic Languages (Oct 2012)."},{"key":"e_1_3_2_1_26_1","volume-title":"An Empirical Study of Dynamic Types for Python Projects. Int\u2019l Conf. on Software Analysis, Testing, and Evolution (Nov","author":"Xia Xinmeng","year":"2018","unstructured":"Xinmeng Xia, Xincheng He, Yanyan Yan, Lei Xu, and Baowen Xu. 2018. An Empirical Study of Dynamic Types for Python Projects. Int\u2019l Conf. on Software Analysis, Testing, and Evolution (Nov 2018)."}],"event":{"name":"CGO '20: 18th ACM\/IEEE International Symposium on Code Generation and Optimization","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGMICRO ACM Special Interest Group on Microarchitectural Research and Processing","IEEE-CS Computer Society"],"location":"San Diego CA USA","acronym":"CGO '20"},"container-title":["Proceedings of the 18th ACM\/IEEE International Symposium on Code Generation and Optimization"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368826.3377907","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3368826.3377907","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3368826.3377907","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:28Z","timestamp":1750202608000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368826.3377907"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,2,22]]},"references-count":25,"alternative-id":["10.1145\/3368826.3377907","10.1145\/3368826"],"URL":"https:\/\/doi.org\/10.1145\/3368826.3377907","relation":{},"subject":[],"published":{"date-parts":[[2020,2,22]]},"assertion":[{"value":"2020-02-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}