Hi,I hit this while debugging on Windows and I simply ignored the assert and
continued debugging (since I was debugging a change that possibly broke some
assumptions v8 was making).  I personally don't think it's nice to crash in
debug only code but if this they way you guys like it - then this is the way
it's going to be.

Sverrir


On Fri, May 15, 2009 at 12:32 PM, Ivan Posva <[email protected]> wrote:

> Sverrir,
>
> I think we all are at a loss what you are trying to solve here (at least I
> am).
>
> The code as it is today is as follows:
> ASSERT(location_ != NULL);
> ASSERT(reinterpret_cast<Address>(*location_) != kHandleZapValue);
>
> What I keep hearing is that you are trying to protect against crashing
> the second line if location_ is NULL. Can you please explain how you
> are getting to the second line? The ASSERT on the first line will
> abort and program execution is stopped.
>
> Thanks,
> -Ivan
>
>
> On Fri, May 15, 2009 at 08:31, Sverrir Á. Berg <[email protected]>
> wrote:
> > I did not see any other replies but I understand your holding.  I
> personally
> > don't think crashing in the assert itself provides any value since
> > difference in behaviour between debug and release is bad (IMHO).  How
> about:
> > ASSERT(location_ != NULL); // as before
> > ASSERT(location_ && reinterpret_cast<Address>(*location_) !=
> > kHandleZapValue);
> > Best of both worlds?
> > Sverrir
> >
> >
> > On Fri, May 15, 2009 at 2:13 AM, <[email protected]> wrote:
> >>
> >> As Søren and Kevin replied, dereferencing a null handle is going to
> >> crash anyway, so I'd like to keep this a two separate ASSERTS so it is
> >> easy to see which one of the conjuncts gets hit.
> >>
> >>
> >> http://codereview.chromium.org/113409
> >
> >
> > > >
> >
>

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

Reply via email to