Closed
Bug 770535
Opened 12 years ago
Closed 11 years ago
Remove XPConnect locks
Categories
(Core :: XPConnect, defect)
Core
XPConnect
Tracking
()
RESOLVED
FIXED
mozilla28
People
(Reporter: bholley, Assigned: mccr8)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
52.78 KB,
patch
|
bholley
:
review+
|
Details | Diff | Splinter Review |
4.92 KB,
patch
|
bholley
:
review+
|
Details | Diff | Splinter Review |
6.99 KB,
patch
|
bholley
:
review+
|
Details | Diff | Splinter Review |
I split this off into its own bug.
Reporter | ||
Comment 1•12 years ago
|
||
Pushed to try:
https://tbpl.mozilla.org/?tree=Try&rev=424447906280
Reporter | ||
Updated•12 years ago
|
Assignee | ||
Comment 3•11 years ago
|
||
Assignee | ||
Comment 4•11 years ago
|
||
Not strictly related, but a simple cleanup related to making it single threaded.
Assignee | ||
Comment 5•11 years ago
|
||
These two maps are identical with the removal of locks, so fold them together.
Assignee | ||
Updated•11 years ago
|
Attachment #8337420 -
Flags: review?(bobbyholley+bmo)
Assignee | ||
Updated•11 years ago
|
Attachment #8337421 -
Flags: review?(bobbyholley+bmo)
Assignee | ||
Comment 6•11 years ago
|
||
Comment on attachment 8337422 [details] [diff] [review]
part 3: Fold mMainThreadWrappedNativeProtoMap into mWrappedNativeProtoMap
This third patch enjoys a cute sort of bisimulation property. I initially wrote it as two patches, one that deletes the non-mainthread-only map, then another that renames the mainthread-only to the same name as the non-mainthread-only, but folding them together results in this exact patch, modulo one bit of whitespace, thereby demonstrating the equivalence of the two maps.
Attachment #8337422 -
Flags: review?(bobbyholley+bmo)
Reporter | ||
Comment 7•11 years ago
|
||
Comment on attachment 8337420 [details] [diff] [review]
part 1 - remove the locks
Review of attachment 8337420 [details] [diff] [review]:
-----------------------------------------------------------------
Huzzah! Thanks for doing this.
Attachment #8337420 -
Flags: review?(bobbyholley+bmo) → review+
Reporter | ||
Updated•11 years ago
|
Attachment #8337421 -
Flags: review?(bobbyholley+bmo) → review+
Reporter | ||
Updated•11 years ago
|
Attachment #8337422 -
Flags: review?(bobbyholley+bmo) → review+
Assignee | ||
Comment 8•11 years ago
|
||
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/592b49270490
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/0fbd934a80c8
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/6235d23be128
Assignee: bobbyholley+bmo → continuation
Comment 9•11 years ago
|
||
Backed out for Windows build bustage.
https://hg.mozilla.org/integration/mozilla-inbound/rev/0fe924afeb74
https://tbpl.mozilla.org/php/getParsedLog.php?id=31053286&tree=Mozilla-Inbound
Assignee | ||
Comment 10•11 years ago
|
||
The errors are this:
c:\builds\moz2_slave\m-in-w32-d-0000000000000000000\build\js\xpconnect\src\XPCJSRuntime.cpp(2934) : error C2220: warning treated as error - no 'object' file generated
c:\builds\moz2_slave\m-in-w32-d-0000000000000000000\build\js\xpconnect\src\XPCJSRuntime.cpp(2934) : warning C4355: 'this' : used in base member initializer list
c:\builds\moz2_slave\m-in-w32-d-0000000000000000000\build\js\xpconnect\src\XPCWrappedJS.cpp(347) : error C2220: warning treated as error - no 'object' file generated
c:\builds\moz2_slave\m-in-w32-d-0000000000000000000\build\js\xpconnect\src\XPCWrappedJS.cpp(347) : warning C4355: 'this' : used in base member initializer list
The two lines in question are
mWatchdogManager(new WatchdogManager(this)),
and
mRoot(root ? root : this),
which, okay, do use |this|, so it looks like a legit error message, but I didn't change anything in those lines. My current theory is that something changed in the build configuration to enable warnings as errors for xpconnect, and nobody has touched these files since then.
Assignee | ||
Comment 11•11 years ago
|
||
Warnings as errors has been on for this directory since August, so that can't be it. Maybe something about the way it is run or isn't run on Windows changed? We'll see if the backout builds on Windows.
Reporter | ||
Comment 12•11 years ago
|
||
No, it's because you removed the MSVC pragma in part 1. That probably needs to go back, unless passing |this| is actually unsafe for some reason.
Assignee | ||
Comment 13•11 years ago
|
||
Oh, thanks for identifying that! I just blindly deleted that entire section. ;)
Assignee | ||
Comment 14•11 years ago
|
||
Comment 15•11 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #13)
> Oh, thanks for identifying that! I just blindly deleted that entire
> section. ;)
Fwiw, you can also drop the pragma and use MOZ_THIS_IN_INITIALIZER_LIST().
Comment 16•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c1f37de21c86
https://hg.mozilla.org/mozilla-central/rev/01908f98a35b
https://hg.mozilla.org/mozilla-central/rev/bc10e345db80
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in
before you can comment on or make changes to this bug.
Description
•