Unloading LambdaForm bytecode

2014-09-08 Thread Martin Traverso
Do the generated bytecodes for LambdaForms ever get unloaded? In Presto (a distributed SQL engine) we generate bytecode on the fly for each query and use invokedynamic in a number of places as a way to link constants. We recently ran into a permgen leak (we run 7u45). Looking at the output of

Re: The Great Startup Problem

2014-09-08 Thread Vladimir Kozlov
JRuby loads about 4000 own classes (above 1000 of system classes) during execution of just '-e 1'. It is a lot of data to load, parse, verify. I played with CDS (Class Data Sharing) which includes jruby classes. We can do that since jruby.jar is on boot class path but it requires some manual

Re: Unloading LambdaForm bytecode

2014-09-08 Thread John Rose
Hi Martin. A few LFs are cached in 8u20, and many more will be in 8u40; those will not be unloaded. A non-cached LF can be viewed as customized, to the exact MH that caused its creation. It should be the case that a LF that is customized to LFs will be unloaded (with its bytecodes) as soon