It doesn't hurt for you to take a deeper look, but that is what I would
expect in debug builds for that bug.

When a compile-time stack overflow happens in a deeply nested expression, we
haven't pushed any result on the frame, so the frame state (specifically its
height) is not as expected.  The test failure is intermittent in release
builds because we continue compiling (dead) code as if it were OK, which
will possibly crash depending on what the frame state we end up with is.

A good solution seems to be to return with a NULL frame to indicate the
failure and the any code generated would be dead.  That requires us to
harden all the functions that visit expressions so that they can tolerate a
NULL frame.

I would hold off on that until we get basic blocks sorted out, because the
meaning of a NULL frame and the places it can occur is in flux right now.

On Mon, Jan 19, 2009 at 8:59 AM, William Hesse <[email protected]> wrote:

> It is that test, and the status is "stack overflow while concatenating
> variables", but
> I am getting
> #
> # Fatal error in /home/whesse/trunk/v8-3/src/codegen-ia32.cc, line 417
> # CHECK(!has_valid_frame() || frame_->height() == original_height + 1)
> failed
> #
>
> So I am suspicious.
>
>
>
>
> On Sat, Jan 17, 2009 at 8:38 AM, <[email protected]> wrote:
>
>> If you mean the Mozilla js1_5/Regress/regress-98901.js test, then that
>> is a separate and known issue.
>>
>>
>> http://codereview.chromium.org/18148
>>
>
>
>
> --
> We can IMAGINE what is not
>

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to