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 -~----------~----~----~----~------~----~------~--~---
