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