Author: Carl Friedrich Bolz <cfb...@gmx.de>
Branch: extradoc
Changeset: r4364:d0eac0df9aa5
Date: 2012-07-25 11:02 +0200
http://bitbucket.org/pypy/extradoc/changeset/d0eac0df9aa5/

Log:    write about hotspot and escape analysis

diff --git a/talk/vmil2012/paper.tex b/talk/vmil2012/paper.tex
--- a/talk/vmil2012/paper.tex
+++ b/talk/vmil2012/paper.tex
@@ -486,6 +486,11 @@
 \subsection{Deoptimization in Method-Based JITs}
 \label{sub:Deoptimization in Method-Based JITs}
 
+Deoptimization in method-based JITs is used if one of the assumptions
+of the code generated by a JIT-compiler changes.
+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
 to make it possible to do source-level debugging of JIT-compiled code.
 Self uses deoptimization to reach the same goal~\cite{XXX}.
@@ -496,6 +501,23 @@
 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
+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.
+There is no discussion of the memory use of this information.
+
+The deoptimization information of Hotspot is extended
+to support correct behaviour
+when scalar replacement of fields is done for non-escaping objects~\cite{XXX}.
+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
+of the content of the fields.
+When deoptimizing code, these objects are reallocated
+and their fields filled with the values
+described by the deoptimization information.
+The paper does not describe any attempts to store this information compactly.
 
 
 % subsection Deoptimization in Method-Based JITs (end)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to