Entry Ertl:1995:SCI from sigplan1990.bib

Last update: Thu Apr 12 03:37:15 MDT 2012                Valid HTML 3.2!

Index sections

Top | Symbols | Numbers | Math | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

BibTeX entry

@Article{Ertl:1995:SCI,
  author =       "M. Anton Ertl",
  title =        "Stack caching for interpreters",
  journal =      j-SIGPLAN,
  volume =       "30",
  number =       "6",
  pages =        "315--327",
  month =        jun,
  year =         "1995",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:17:06 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/pldi/207110/index.html",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/207110/p315-ertl/",
  abstract =     "An interpreter can spend a significant part of its
                 execution time on accessing arguments of virtual
                 machine instructions. This paper explores two methods
                 to reduce this overhead for virtual stack machines by
                 caching top-of-stack values in (real machine)
                 registers. The {\em dynamic method\/} is based on
                 having, for every possible state of the cache, one
                 specialized version of the whole interpreter; the
                 execution of an instruction usually changes the state
                 of the cache and the next instruction is executed in
                 the version corresponding to the new state. In the {\em
                 static method\/} a state machine that keeps track of
                 the cache state is added to the compiler. Common
                 instructions exist in specialized versions for several
                 states, but it is not necessary to have a version of
                 every instruction for every cache state. Stack
                 manipulation instructions are optimized away.",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. fur Comput., Tech. Univ. Wien, Austria",
  annote =       "Published as part of the Proceedings of PLDI'95.",
  classification = "C6120 (File organisation); C6150C (Compilers,
                 interpreters and other processors)",
  keywords =     "algorithms; Cache state; Common instructions;
                 Compiler; Dynamic method; Execution time; Instruction
                 execution; Interpreters; languages; performance; Real
                 machine registers; Specialized version; Stack caching;
                 Stack manipulation instructions; State machine;
                 Top-of-stack value caching; Virtual machine instruction
                 argument access; Virtual stack machines",
  subject =      "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Interpreters. {\bf D.3.4} Software,
                 PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
                 D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, C. {\bf D.3.2} Software, PROGRAMMING
                 LANGUAGES, Language Classifications, FORTH. {\bf D.3.4}
                 Software, PROGRAMMING LANGUAGES, Processors,
                 Optimization.",
  thesaurus =    "Cache storage; Program compilers; Program
                 interpreters",
}

Related entries