{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T07:45:37Z","timestamp":1770277537040,"version":"3.49.0"},"publisher-location":"New York, NY, USA","reference-count":28,"publisher":"ACM","license":[{"start":{"date-parts":[[2023,2,22]],"date-time":"2023-02-22T00:00:00Z","timestamp":1677024000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nd\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2130257"],"award-info":[{"award-number":["2130257"]}],"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":[[2023,2,22]]},"DOI":"10.1145\/3572864.3580344","type":"proceedings-article","created":{"date-parts":[[2023,2,14]],"date-time":"2023-02-14T00:18:37Z","timestamp":1676333917000},"page":"117-123","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Bringing Segmented Stacks to Embedded Systems"],"prefix":"10.1145","author":[{"given":"Zhiyao","family":"Ma","sequence":"first","affiliation":[{"name":"Yale University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lin","family":"Zhong","sequence":"additional","affiliation":[{"name":"Yale University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,2,22]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Ambiq. 2020. Apollo4 Blue. https:\/\/ambiq.com\/apollo4-blue\/"},{"key":"e_1_3_2_1_2_1","unstructured":"ARM. 2016. ARMv7-M Architecture Reference Manual. https:\/\/developer.arm.com\/documentation\/ddi0403\/latest"},{"key":"e_1_3_2_1_3_1","unstructured":"ARM. 2019. Application Binary Interface for the Arm Architecture - The Base Standard - ABI 2019Q4 documentation. https:\/\/developer.arm.com\/documentation\/ihi0036\/d"},{"key":"e_1_3_2_1_4_1","unstructured":"CoreMark. 2009. Embedded Microprocessor Benchmark Consortium. https:\/\/www.eembc.org\/coremark\/"},{"key":"e_1_3_2_1_5_1","unstructured":"Edsger W Dijkstra. 1964. Een algorithme ter voorkoming van de dodelijke omarming. http:\/\/www.cs.utexas.edu\/users\/EWD\/ewd01xx\/EWD108.PDF (1964)."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182811"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"crossref","unstructured":"Kavon Farvardin and John Reppy. 2020. From folklore to fact: comparing implementations of stacks and continuations.","DOI":"10.1145\/3395636"},{"key":"e_1_3_2_1_8_1","unstructured":"FreeRTOS. 2022. https:\/\/www.freertos.org."},{"key":"e_1_3_2_1_9_1","unstructured":"GCC. 2022. Segmented Stack Implementation. https:\/\/github.com\/gcc-mirror\/gcc\/blob\/0c7bce0ac184c057bacad9c8e615ce82923835fd\/libgcc\/config\/i386\/morestack.S"},{"key":"e_1_3_2_1_10_1","unstructured":"GCC. 2022. Support for nested functions. https:\/\/gcc.gnu.org\/onlinedocs\/gccint\/Trampolines.html"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/MMAR.2017.8046794"},{"key":"e_1_3_2_1_12_1","unstructured":"Golang. 2014. Switch to contiguous stacks. https:\/\/docs.google.com\/document\/d\/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ\/pub"},{"key":"e_1_3_2_1_13_1","unstructured":"Golang. 2014. Switch to contiguous stacks. https:\/\/agis.io\/post\/contiguous-stacks-golang\/"},{"key":"e_1_3_2_1_14_1","volume-title":"Representing control in the presence of first-class continuations. ACM SIGPLAN Notices","author":"Hieb Robert","year":"1990","unstructured":"Robert Hieb, R Kent Dybvig, and Carl Bruggeman. 1990. Representing control in the presence of first-class continuations. ACM SIGPLAN Notices (1990)."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Amit Levy Bradford Campbell Branden Ghena Daniel B Giffin Pat Pannuto Prabal Dutta and Philip Levis. 2017. Multiprogramming a 64KB computer safely and efficiently.","DOI":"10.1145\/3132747.3132786"},{"key":"e_1_3_2_1_16_1","unstructured":"Libgcc. 2022. Missed return address prediction in segmented stack implementation. https:\/\/github.com\/gcc-mirror\/gcc\/blob\/releases\/gcc-12.2.0\/libgcc\/config\/i386\/morestack.S#L216"},{"key":"e_1_3_2_1_17_1","volume-title":"Reserve 64KiB in stacklet for conventional code. https:\/\/github.com\/gcc-mirror\/gcc\/blob\/releases\/gcc-12.2.0\/libgcc\/config\/i386\/morestack.S#L83","unstructured":"Libgcc. 2022. Reserve 64KiB in stacklet for conventional code. https:\/\/github.com\/gcc-mirror\/gcc\/blob\/releases\/gcc-12.2.0\/libgcc\/config\/i386\/morestack.S#L83"},{"key":"e_1_3_2_1_18_1","unstructured":"LLVM. 2022. Segmented Stack Implementation. https:\/\/github.com\/llvm\/llvm-project\/blob\/8f2ec974d1cf0ecde8b1b047db2e1bf0cb3a6c7f\/llvm\/lib\/Target\/X86\/X86FrameLowering.cpp#L3089"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/EMRTS.2004.1311009"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/DCOSS.2011.5982136"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376804.1376814"},{"key":"e_1_3_2_1_22_1","unstructured":"Nordic. 2015. nRF52 Series. https:\/\/infocenter.nordicsemi.com\/topic\/struct_nrf52\/struct\/nrf52.html"},{"key":"e_1_3_2_1_23_1","unstructured":"Qualys Security Advisory. 2017. The Stack Clash. https:\/\/www.qualys.com\/2017\/06\/19\/stack-clash\/stack-clash.txt"},{"key":"e_1_3_2_1_24_1","unstructured":"Rust. 2013. Abandoning segmented stacks. https:\/\/mail.mozilla.org\/pipermail\/rust-dev\/2013-November\/006314.html"},{"key":"e_1_3_2_1_25_1","unstructured":"Stratify OS. 2022. Issue of -fstack-check. https:\/\/github.com\/StratifyLabs\/StratifyOS\/issues\/173"},{"key":"e_1_3_2_1_26_1","unstructured":"System V. 2014. Application Binary Interface: AMD64 Architecture Processor Supplement. https:\/\/www.uclibc.org\/docs\/psABI-x86_64.pdf"},{"key":"e_1_3_2_1_27_1","unstructured":"Valentine Valyaeff. 2017. Drone OS. https:\/\/www.drone-os.com\/."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945471"}],"event":{"name":"HotMobile '23: The 24th International Workshop on Mobile Computing Systems and Applications","location":"Newport Beach California","acronym":"HotMobile '23","sponsor":["SIGMOBILE ACM Special Interest Group on Mobility of Systems, Users, Data and Computing"]},"container-title":["Proceedings of the 24th International Workshop on Mobile Computing Systems and Applications"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3572864.3580344","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3572864.3580344","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3572864.3580344","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:08:10Z","timestamp":1750183690000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3572864.3580344"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,22]]},"references-count":28,"alternative-id":["10.1145\/3572864.3580344","10.1145\/3572864"],"URL":"https:\/\/doi.org\/10.1145\/3572864.3580344","relation":{},"subject":[],"published":{"date-parts":[[2023,2,22]]},"assertion":[{"value":"2023-02-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}