No, I think that VM can do this check but use lower border: e.g. 1/100 of
initial.
JIT must do this check more accurate: use knowledge of algorithms it uses.

The requirement to avoid SOE during a compilation can affect any algorithm
in JIT that uses recursion. Jitrino.OPT has a lot of such algorithms: node,
insts, opnd based . So I'm not sure that JIT can construct a heuristic or a
profile to refuse to compile a method in the beginning of the compilation.
The another option is to check available stack size before any recursion
based algorithm and limit the algorithm up to N steps in recursion (N is
recomputed in runtime) . If N steps is not enough algorithm will fail and
JIT will not not perform the optimization or compilation at all.
Quite a lot of changes in JIT though. Any other ideas?




On 7/24/06, Pavel Afremov <[EMAIL PROTECTED]> wrote:

Hi

On 7/22/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote:

> I think this must be a JIT heuristics because even a small method can
lead
> to inlining of whole classlib API :)


Are You think this check should be removed from VM and puted into JIT
only?

BR
Pavel Afremov.




--
Mikhail Fursov

Reply via email to