summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMike Pall <mike>2011-11-20 19:14:39 +0100
committerMike Pall <mike>2011-11-20 19:16:40 +0100
commitcecbe3c15fc62921098f3468b9de86cf0b631b9e (patch)
treed1b18c59652a3e163ce050e58b7b647fdf312271 /doc
parentcc7a12be93660677a5128124c11c68127cfe33eb (diff)
downloadluajit-cecbe3c15fc62921098f3468b9de86cf0b631b9e.tar.gz
luajit-cecbe3c15fc62921098f3468b9de86cf0b631b9e.tar.bz2
luajit-cecbe3c15fc62921098f3468b9de86cf0b631b9e.zip
Specialize to prototype for non-monomorphic functions.
Solves the trace-explosion problem with closure-heavy programming.
Diffstat (limited to 'doc')
-rw-r--r--doc/status.html8
1 files changed, 0 insertions, 8 deletions
diff --git a/doc/status.html b/doc/status.html
index d386e1aa..5f8fa463 100644
--- a/doc/status.html
+++ b/doc/status.html
@@ -148,14 +148,6 @@ with me, before writing major improvements, to avoid duplication of
148effort. 148effort.
149</li> 149</li>
150<li> 150<li>
151The trace compiler currently doesn't back off specialization for
152function call dispatch. It should really fall back to specializing on
153the prototype, not the closure identity. This can lead to the so-called
154"trace explosion" problem with <b>closure-heavy programming</b>. The
155trace linking heuristics prevent this, but in the worst case this
156means the code always falls back to the interpreter.
157</li>
158<li>
159<b>Trace management</b> needs more tuning: less drastic countermeasures 151<b>Trace management</b> needs more tuning: less drastic countermeasures
160against trace explosion and better heuristics in general. 152against trace explosion and better heuristics in general.
161</li> 153</li>