@gron

A Tail-Recursive Machine with Stack Inspection

, and . ACM Trans. Program. Lang. Syst., 26 (6): 1029--1052 (November 2004)
DOI: 10.1145/1034774.1034778

Abstract

Security folklore holds that a security mechanism based on stack inspection is incompatible with a global tail call optimization policy; that an implementation of such a language must allocate memory for a source-code tail call, and a program that uses only tail calls (and no other memory-allocating construct) may nevertheless exhaust the available memory. In this article, we prove this widely held belief wrong. We exhibit an abstract machine for a language with security stack inspection whose space consumption function is equivalent to that of the canonical tail call optimizing abstract machine. Our machine is surprisingly simple and suggests that tail calls are as easy to implement in a security setting as they are in a conventional one.

Description

A tail-recursive machine with stack inspection

Links and resources

Tags

community

  • @gron
  • @dblp
@gron's tags highlighted