WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
142674
Replace TCSpinLock with a new WTF::SpinLock based on WTF::Atomic
https://bugs.webkit.org/show_bug.cgi?id=142674
Summary
Replace TCSpinLock with a new WTF::SpinLock based on WTF::Atomic
Mark Lam
Reported
2015-03-13 10:54:38 PDT
We no longer use TCMalloc in our code, and we now have C++11. This replaces the TCMalloc_SpinLock with a new WTF::SpinLock based on WTF::Atomic (which is a wrapper around std::atomic).
Attachments
the patch.
(32.98 KB, patch)
2015-03-13 11:25 PDT
,
Mark Lam
no flags
Details
Formatted Diff
Diff
patch 2: added some ChangeLog comment.
(33.88 KB, patch)
2015-03-13 11:38 PDT
,
Mark Lam
fpizlo
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2015-03-13 11:25:54 PDT
Created
attachment 248592
[details]
the patch.
Mark Lam
Comment 2
2015-03-13 11:38:07 PDT
Created
attachment 248593
[details]
patch 2: added some ChangeLog comment.
Filip Pizlo
Comment 3
2015-03-13 12:14:45 PDT
Comment on
attachment 248593
[details]
patch 2: added some ChangeLog comment. Can you also change this SpinLock to using methods named according to our conventions (i.e. lock() instead of Lock())? Then you could get rid of SpinLockHolder and use the existing WTF holder.
Mark Lam
Comment 4
2015-03-13 12:48:09 PDT
(In reply to
comment #3
)
> Comment on
attachment 248593
[details]
> patch 2: added some ChangeLog comment. > > Can you also change this SpinLock to using methods named according to our > conventions (i.e. lock() instead of Lock())? Then you could get rid of > SpinLockHolder and use the existing WTF holder.
I did. Look at SpinLock.h. I think you may be looking at the deleted TCSpinLock.h. SpinLockHolder is now implemented on top of WTF::Locker just like we do with MutexLocker. I opted not to rename it to SpinLockLocker because this reduces unnecessary diffs.
Mark Lam
Comment 5
2015-03-13 13:06:30 PDT
Thanks for the review. Landed in
r181485
: <
http://trac.webkit.org/r181485
>.
Chris Dumez
Comment 6
2015-03-14 10:58:12 PDT
This may have caused Speedometer to start crashing: Running Speedometer/Full.html (144 of 144) error: Speedometer/Full.html 1 0x113d6747e JSC::DFG::(anonymous namespace)::PutStackSinkingPhase::run() 2 0x113d5ded4 JSC::DFG::performPutStackSinking(JSC::DFG::Graph&) 3 0x113db9d99 JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&) 4 0x113db96dd JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&, JSC::DFG::ThreadData*) 5 0x113e45042 JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) 6 0x1141cf833 WTF::threadEntryPoint(void*) 7 0x1141cfd1f WTF::wtfThreadEntryPoint(void*) 8 0x7fff8e583268 _pthread_body 9 0x7fff8e5831e5 _pthread_body 10 0x7fff8e58141d thread_start It is consistently crashing on all perf bots:
https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20%28Perf%29/builds/1263/steps/perf-test/logs/stdio
There are a few other commits in the range but this one seems the most likely cause.
Chris Dumez
Comment 7
2015-03-14 11:02:14 PDT
(In reply to
comment #6
)
> This may have caused Speedometer to start crashing: > Running Speedometer/Full.html (144 of 144) > error: Speedometer/Full.html > 1 0x113d6747e JSC::DFG::(anonymous namespace)::PutStackSinkingPhase::run() > 2 0x113d5ded4 JSC::DFG::performPutStackSinking(JSC::DFG::Graph&) > 3 0x113db9d99 > JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&) > 4 0x113db96dd JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&, > JSC::DFG::ThreadData*) > 5 0x113e45042 JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) > 6 0x1141cf833 WTF::threadEntryPoint(void*) > 7 0x1141cfd1f WTF::wtfThreadEntryPoint(void*) > 8 0x7fff8e583268 _pthread_body > 9 0x7fff8e5831e5 _pthread_body > 10 0x7fff8e58141d thread_start > > It is consistently crashing on all perf bots: >
https://build.webkit.org/builders/
> Apple%20Yosemite%20Release%20WK2%20%28Perf%29/builds/1263/steps/perf-test/ > logs/stdio > > There are a few other commits in the range but this one seems the most > likely cause.
Filed
https://bugs.webkit.org/show_bug.cgi?id=142697
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