Bug 61170 - Zombies should "live" forever
Summary: Zombies should "live" forever
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-20 00:07 PDT by Zoltan Herczeg
Modified: 2011-05-20 12:06 PDT (History)
2 users (show)

See Also:


Attachments
patch (5.71 KB, patch)
2011-05-20 00:16 PDT, Zoltan Herczeg
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zoltan Herczeg 2011-05-20 00:07:58 PDT
Some improvements to keep zombies alive.
Comment 1 Zoltan Herczeg 2011-05-20 00:16:12 PDT
Created attachment 94180 [details]
patch
Comment 2 Oliver Hunt 2011-05-20 08:50:58 PDT
Comment on attachment 94180 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=94180&action=review

> Source/JavaScriptCore/JavaScriptCore.pro:-67
> -    assembler/MacroAssemblerSH4.h \
>      assembler/MacroAssemblerSH4.cpp \
> -    assembler/SH4Assembler.h \

Why remove these?  Or at least why remove them in this patch?

> Source/JavaScriptCore/runtime/JSCell.h:362
> -        return isCell() && asCell() > (JSCell*)0x1ffffffffL && asCell()->isZombie();
> +        return isCell() && asCell()->isZombie();

whoops, i shouldn't have left this in, my bad.

> Source/JavaScriptCore/runtime/WriteBarrier.h:132
> -        ASSERT(!m_cell || !isZombie(m_cell));
> +        ASSERT(!m_cell || value == reinterpret_cast<T*>(1) || !isZombie(m_cell));

What are you testing here?
Comment 3 Zoltan Herczeg 2011-05-20 10:03:41 PDT
> > Source/JavaScriptCore/JavaScriptCore.pro:-67
> > -    assembler/MacroAssemblerSH4.h \
> >      assembler/MacroAssemblerSH4.cpp \
> > -    assembler/SH4Assembler.h \
> 
> Why remove these?  Or at least why remove them in this patch?

True, it is unrelated. That list should contain only .cpp files. It is just a typo.

> > Source/JavaScriptCore/runtime/WriteBarrier.h:132
> > -        ASSERT(!m_cell || !isZombie(m_cell));
> > +        ASSERT(!m_cell || value == reinterpret_cast<T*>(1) || !isZombie(m_cell));
> 
> What are you testing here?

CodeBlock.h : setSeen():
cachedPrototypeStructure.setWithoutWriteBarrier((Structure*)1);
Comment 4 WebKit Commit Bot 2011-05-20 12:06:39 PDT
Comment on attachment 94180 [details]
patch

Clearing flags on attachment: 94180

Committed r86974: <http://trac.webkit.org/changeset/86974>
Comment 5 WebKit Commit Bot 2011-05-20 12:06:44 PDT
All reviewed patches have been landed.  Closing bug.