13.10.06, Gregory Shimansky<[EMAIL PROTECTED]> написал(а):
On Thursday 12 October 2006 14:06 Mikhail Fursov wrote:
> On 10/12/06, Pavel Pervov <[EMAIL PROTECTED]> wrote:
> > Yes, lazy (interpreter style) resolution will solve the problem - JIT
> > will never ask to load classes while compiling.
>
> Here we have different vision. What do you think, is it possible to go into
> the endless resursion with lazy resolution?
AFAIK it is not a matter of endless recursion. It just the a matter of how VM
class loader determines CCE condition. If a class loading requested for a
class which is being loaded already somewhere up the stack, it is determined
as a CCE. This method is very effective and works just fine, I think RI uses
something similar. It doesn't require analyzing the whole classes tree and
exception is thrown only on demand.
I'm curious, if we enable "controlled" recursion in classloading -
will it resolve this kind of issues completely? I'm pretty sure it
would resolve at least some scenarios - like the one Pavel described
for gc.Finalizers or a case of classloading initiated within
SecurityManager.checkPermission() which we also faced not once.
"Controlled" recursion here means counting depth of recursion and
allowing at least 1 recursive iteration. I've seen some tricks in
URLClassLoader which assume such ability, but they do not work with
DRLVM.
For the pure user code scenario Pavel suggested above, there may be
some nuances leading to truly endless recursion, but still we need to
look at particular test first.
--
Alexey
--
Gregory Shimansky, Intel Middleware Products Division
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]