WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
70258
Simplified GC marking logic
https://bugs.webkit.org/show_bug.cgi?id=70258
Summary
Simplified GC marking logic
Geoffrey Garen
Reported
2011-10-17 13:01:59 PDT
Simplified GC marking logic
Attachments
Patch
(28.27 KB, patch)
2011-10-17 13:18 PDT
,
Geoffrey Garen
fpizlo
: review+
webkit-ews
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Geoffrey Garen
Comment 1
2011-10-17 13:18:52 PDT
Created
attachment 111308
[details]
Patch
WebKit Review Bot
Comment 2
2011-10-17 13:21:22 PDT
Attachment 111308
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/update-webkit', '--chromium']" exit_code: 2 Updating OpenSource Current branch master is up to date. Updating chromium port dependencies using gclient... Error: Can't switch the checkout to
http://v8.googlecode.com/svn/branches/3.6@9637
; UUID don't match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again. Re-trying 'depot_tools/gclient sync' Error: Can't switch the checkout to
http://v8.googlecode.com/svn/branches/3.6@9637
; UUID don't match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again. Re-trying 'depot_tools/gclient sync' Error: Can't switch the checkout to
http://v8.googlecode.com/svn/branches/3.6@9637
; UUID don't match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again. Error: 'depot_tools/gclient sync' failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107. Re-trying 'depot_tools/gclient sync' No such file or directory at Tools/Scripts/update-webkit line 104. If any of these errors are false positives, please file a bug against check-webkit-style.
Darin Adler
Comment 3
2011-10-17 13:25:30 PDT
Comment on
attachment 111308
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=111308&action=review
> Source/JavaScriptCore/heap/MarkStack.cpp:42 > + , m_capacity(m_allocated / sizeof(JSCell*))
This uses an uninitialized m_allocated data member.
> Source/JavaScriptCore/heap/MarkStack.cpp:72 > +#if OS(WINDOWS) > + // We cannot release a part of a region with VirtualFree. To get around this, > + // we'll release the entire region and reallocate the size that we want.
Can we add a tiny bit of abstraction here so the #if OS (WINDOWS) isn’t right inline in the code? This knowledge of what MarkStack::releaseStack can and can’t do is now in a different class from the releaseStack function.
> Source/JavaScriptCore/heap/MarkStack.cpp:118 > + cell->methodTable()->visitChildren(const_cast<JSCell*>(cell), visitor);
Looks like you removed m_isCheckingForDefaultMarkViolation here. Why?
Geoffrey Garen
Comment 4
2011-10-17 13:32:14 PDT
> > Source/JavaScriptCore/heap/MarkStack.cpp:42 > > + , m_capacity(m_allocated / sizeof(JSCell*)) > > This uses an uninitialized m_allocated data member.
Oops!
> > Source/JavaScriptCore/heap/MarkStack.cpp:72 > > +#if OS(WINDOWS) > > + // We cannot release a part of a region with VirtualFree. To get around this, > > + // we'll release the entire region and reallocate the size that we want. > > Can we add a tiny bit of abstraction here so the #if OS (WINDOWS) isn’t right inline in the code? This knowledge of what MarkStack::releaseStack can and can’t do is now in a different class from the releaseStack function.
Yes. I think this can move into OSAllocator.
> > Source/JavaScriptCore/heap/MarkStack.cpp:118 > > + cell->methodTable()->visitChildren(const_cast<JSCell*>(cell), visitor); > > Looks like you removed m_isCheckingForDefaultMarkViolation here. Why?
There's no such thing as a "default mark violation" anymore. I'm going to remove the rest of it, include the structure flag, in a follow-up patch.
Early Warning System Bot
Comment 5
2011-10-17 13:40:18 PDT
Comment on
attachment 111308
[details]
Patch
Attachment 111308
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/10106150
Geoffrey Garen
Comment 6
2011-10-17 13:42:41 PDT
Committed
r97642
: <
http://trac.webkit.org/changeset/97642
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug