--trace-bailout informs you when the optimizing compiler tried to optimize
a function but had to cancel this attempt half-way through. That's
unfortunate because it means that all the work it did before the
cancellation was a waste of time.

Since V8 3.9.20, we have infrastructure in place that allows us to disable
optimization for functions that contain unsupported statements (such as
try-catch, with) right away, so the optimizing compiler never even tries to
optimize these and therefore doesn't have to bail out.

There are other situations when the optimizing compiler has to bail out
that we don't detect up front, so the flag is still useful and it still
prints information in such cases.

Long story short: it's a feature, not a bug :-)


On Sun, Jul 29, 2012 at 2:09 AM, Sławek Janecki <jane...@gmail.com> wrote:

> Using Node.js up to version  0.7.6 (v8 3.9.17) when I use --trace-bailout
> flag i have output as expected (bailouts info)
>
> Using Node from version 0.7.7 (v8 3.9.24.7) up to latest release 0.8.4
> --trace-bailout don't show any info.
>
> I've tried simple scripts with try/catch and 'with' (100% bailouts)
>
> Tracing hydrogen output on both node/v8 (0.7.6 and 0.7.7) versions tells
> that my test function (with try/catch and 'with') is'nt optimized (it's
> bailing-out) but I don't see any info on node >= 0.7.7
>
> Something changed? In V8 sources bailout flag is in place.
> Do I need to turn other flag on to get bailouts or this is a bug?
>
> Thanks
>
>

-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users

Reply via email to