<div class="csl-bib-body">
<div class="csl-entry">Ertl, M. A. (1996). <i>Implementation of stack-based languages on register machines</i> [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-12114</div>
</div>
Languages with programmer-visible stacks (stack-based languages) are used widely, as intermediate languages (e.g., JavaVM), and as languages for human programmers (e.g., Forth, PostScript). However, the prevalent computer architecture is the register machine. This poses the problem of efficiently implementing stack-based languages on register machines. A straight-forward implementation of the stack consists of a memory area that contains the stack items, and a pointer to the top-of-stack item. The basic optimizations explored in this thesis are: Caching the frequently-accessed top-of-stack items in registers reduces stack access overhead, and combining stack-pointer updates eliminates most of them. This thesis examines these optimizations in the context of three basic implementation techniques: interpretation, compilation to native machine code, and translation to C. For interpreters, the optimizations eliminate about two real machine instructions per virtual machine instruction, resulting in speedups of 17%-31% (for Forth on a DecStation 3100). The techniques presented here for native-code compilation and translation to C achieve a speedup factor of 1.3-3 over traditional native code compilers and more than 3 over a straight-forward translator to C (for Forth on a 486DX2/66).
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
Registermaschine
de
dc.subject
Kellerrechner
de
dc.subject
Programmiersprache
de
dc.title
Implementation of stack-based languages on register machines
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Martin Anton Ertl
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
tuw.publication.orgunit
E185 - Institut für Computersprachen
-
dc.type.qualificationlevel
Doctoral
-
dc.identifier.libraryid
AC01646174
-
dc.description.numberOfPages
83
-
dc.identifier.urn
urn:nbn:at:at-ubtuw:1-12114
-
dc.thesistype
Dissertation
de
dc.thesistype
Dissertation
en
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
item.grantfulltext
open
-
item.openairecristype
http://purl.org/coar/resource_type/c_db06
-
item.mimetype
application/pdf
-
item.openairetype
doctoral thesis
-
item.openaccessfulltext
Open Access
-
item.languageiso639-1
en
-
item.cerifentitytype
Publications
-
item.fulltext
with Fulltext
-
crisitem.author.dept
E194-05 - Forschungsbereich Compilers and Languages
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering