diff options
| author | Mike Pall <mike> | 2011-11-20 19:14:39 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2011-11-20 19:16:40 +0100 |
| commit | cecbe3c15fc62921098f3468b9de86cf0b631b9e (patch) | |
| tree | d1b18c59652a3e163ce050e58b7b647fdf312271 /doc | |
| parent | cc7a12be93660677a5128124c11c68127cfe33eb (diff) | |
| download | luajit-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.html | 8 |
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 | |||
| 148 | effort. | 148 | effort. |
| 149 | </li> | 149 | </li> |
| 150 | <li> | 150 | <li> |
| 151 | The trace compiler currently doesn't back off specialization for | ||
| 152 | function call dispatch. It should really fall back to specializing on | ||
| 153 | the prototype, not the closure identity. This can lead to the so-called | ||
| 154 | "trace explosion" problem with <b>closure-heavy programming</b>. The | ||
| 155 | trace linking heuristics prevent this, but in the worst case this | ||
| 156 | means 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 |
| 160 | against trace explosion and better heuristics in general. | 152 | against trace explosion and better heuristics in general. |
| 161 | </li> | 153 | </li> |
