Author: Carl Friedrich Bolz <[email protected]>
Branch: extradoc
Changeset: r4368:654fd8bb94af
Date: 2012-07-25 11:22 +0200
http://bitbucket.org/pypy/extradoc/changeset/654fd8bb94af/
Log: add citations
diff --git a/talk/vmil2012/paper.tex b/talk/vmil2012/paper.tex
--- a/talk/vmil2012/paper.tex
+++ b/talk/vmil2012/paper.tex
@@ -493,7 +493,7 @@
This is often the case when new code is added to the system,
or when the programmer tries to debug the program.
-Deutsch et. al.~\cite{XXX} describe the use of stack descriptions
+Deutsch et. al.~\cite{deutsch_efficient_1984} describe the use of stack
descriptions
to make it possible to do source-level debugging of JIT-compiled code.
Self uses deoptimization to reach the same goal~\cite{XXX}.
When a function is to be debugged, the optimized code version is left
@@ -503,7 +503,7 @@
The scope descriptors are between 0.45 and 0.76 times
the size of the generated machine code.
-Java Hotspot~\cite{XXX} contains a deoptimization framework that is used
+Java Hotspot~\cite{paleczny_java_2001} contains a deoptimization framework
that is used
for debugging and when an uncommon trap is triggered.
To be able to do this, Hotspot stores a mapping from optimized states
back to the interpreter state at various deoptimization points.
@@ -511,7 +511,7 @@
The deoptimization information of Hotspot is extended
to support correct behaviour
-when scalar replacement of fields is done for non-escaping objects~\cite{XXX}.
+when scalar replacement of fields is done for non-escaping
objects~\cite{kotzmann_escape_2005}.
The approach is extremely similar to how RPython's JIT handles virtual objects.
For every object that is not allocated in the code,
the deoptimization information contains a description
diff --git a/talk/vmil2012/zotero.bib b/talk/vmil2012/zotero.bib
--- a/talk/vmil2012/zotero.bib
+++ b/talk/vmil2012/zotero.bib
@@ -1,3 +1,16 @@
+
+@inproceedings{deutsch_efficient_1984,
+ address = {Salt Lake City, Utah},
+ title = {Efficient implementation of the Smalltalk-80 system},
+ isbn = {0-89791-125-3},
+ url = {http://portal.acm.org/citation.cfm?id=800017.800542},
+ doi = {10.1145/800017.800542},
+ abstract = {The Smalltalk-80* programming language includes dynamic
storage allocation, full upward funargs, and universally polymorphic
procedures; the Smalltalk-80 programming system features interactive execution
with incremental compilation, and implementation portability. These features of
modern programming systems are among the most difficult to implement
efficiently, even individually. A new implementation of the Smalltalk-80
system, hosted on a small microprocessor-based computer, achieves high
performance while retaining complete (object code) compatibility with existing
implementations. This paper discusses the most significant optimization
techniques developed over the course of the project, many of which are
applicable to other languages. The key idea is to represent certain runtime
state (both code and data) in more than one form, and to convert between forms
when needed.},
+ booktitle = {{POPL}},
+ publisher = {{ACM}},
+ author = {Deutsch, L. Peter and Schiffman, Allan M.},
+ year = {1984}
+},
@inproceedings{titzer_improving_2010,
address = {Pittsburgh, Pennsylvania, {USA}},
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit