elfdragore / strongtalk

Automatically exported from code.google.com/p/strongtalk
0 stars 0 forks source link

code-cache growth and/or flushing #16

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
The code cache (the area where compiled code is placed) can neither grow
nor compact, and obsolete compiled code just accumulates in it.  When it
fills up, the system just crashes.

In practice this is a very minor problem, since Strongtalk generates only
small amounts of compiled code, and the code cache size can be changed in
the initialization file.  In practice, I don't think we have ever seen this.

While this might be a fair amount of work, a much simpler fix that would
prevent this from crashing the system would be to simply deoptimize all
active compiled contexts, and then just flush the entire code cache, which
would then quickly rebuild itself.  As long as the working set of code is
smaller than the code cache size, and this doesn't happen too often, that
should work fine.

Original issue reported on code.google.com by David.Gr...@gmail.com on 22 Sep 2006 at 10:31