Closed
Bug 3198
Opened 26 years ago
Closed 26 years ago
RX: Layout
Categories
(Core :: Layout, defect, P2)
Tracking
()
VERIFIED
FIXED
M8
People
(Reporter: chofmann, Assigned: mozeditor)
Details
Guessing kipp and troy, cc: vidur:
Much of our non-static/global data needs to be partitioned by window,
not reachable by other windows except through statics/globals.
Therefore we're starting the hunt with statics and globals.
Please have a look at the file(s) below to see if we can improve reentrantcy
across
the code base by making modifications to:
layout/base/public/nsIFrame.h: static NS_LAYOUT PRLogModuleInfo* gLogModule;
layout/base/src/nsContentList.h: static nsIAtom* gWildCardAtom;
layout/base/src/nsGenericElement.h: static nsIDOMScriptObjectFactory
*gScriptObjectFactory;
layout/base/src/nsRange.h: static nsVoidArray *mStartAncestors; // just keeping
these around to avoid reallocing the arrays.
layout/base/src/nsRange.h: static nsVoidArray *mEndAncestors; // the contents of
these arrays are discarded across calls.
layout/base/src/nsRange.h: static nsVoidArray *mStartAncestorOffsets; //
layout/base/src/nsRange.h: static nsVoidArray *mEndAncestorOffsets; //
layout/html/base/src/nsFrame.h: static PRBool mDoingSelection;
layout/html/base/src/nsFrame.h: static PRBool mDidDrag;
layout/html/base/src/nsFrame.h: static PRInt32 mStartPos;
layout/html/base/src/nsGlobalVariables.h: static nsGlobalVariables *gInstance;
layout/html/base/src/nsIHTMLReflow.h: static const nsHTMLReflowState*
layout/html/base/src/nsIHTMLReflow.h: static nscoord
layout/html/base/src/nsIHTMLReflow.h: static const nsHTMLReflowState*
layout/html/document/src/nsFrameSetFrame.h: static PRBool gDragInProgress;
layout/html/document/src/nsFrameSetFrame.h: static PRInt32 gMaxNumRowColSpecs;
Comment 1•26 years ago
|
||
Unless I missed something, there has been little talk about the threading issue
that has included the NGLayout people since the "town hall" type meeting that
Brendan lead several weeks ago. The bug database is the wrong place to continue
this discussion. Let's have a meeting or discuss this on a mail list so we can
do this correctly.
Everything in this list (after you cull out the crud) has to do with selection
global variables....Hopefully those are either dead crud that mike can remove
*or* he can do the work it takes to remove them...so I'm reassigning this one.
Reporter | ||
Comment 3•26 years ago
|
||
RX tasks aren't going to make M3.
close the reentrantcy tracking tasks if this specific area has been looked at
and doesn't seem to be a problem. Otherwise each of these areas
still need some looking at.
I am sure most of that is not used, one thing though
layout/html/base/src/nsGlobalVariables.h: static nsGlobalVariables *gInstance;
layout/html/base/src/nsIHTMLReflow.h: static const nsHTMLReflowState*
layout/html/base/src/nsIHTMLReflow.h: static nscoord
layout/html/base/src/nsIHTMLReflow.h: static const nsHTMLReflowState*
are unknown to me. I will wait until after dogfood to delete the other stuff
that is not used anymore.
I am going to see what the intelligence is in moving all the drag and click
static methods to the selection code. this will force the pres shell to ALWAYS
have a selection object(though it doesnt have to draw it) because of the dodrag
methods that need to be called ect. still, this can be m6 work.
These are all done i am reassigning this bug to
Joe Francis to decide if the nsRange stuff is
still valid and or fixable.
layout/html/base/src/nsFrame.h: static PRBool mDoingSelection;
layout/html/base/src/nsFrame.h: static PRBool mDidDrag;
layout/html/base/src/nsFrame.h: static PRInt32 mStartPos;
Assignee | ||
Comment 8•26 years ago
|
||
Deja Vu all over again. Half this game is 90% mental.
I addressed this in another bug - the skinny is that we need the nsRange statics
in order to avoid making ranges way to heavy. I have comments in the code
showing where we need locks - I'll add them in RSN.
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Updated•26 years ago
|
Target Milestone: M6 → M8
Assignee | ||
Comment 9•26 years ago
|
||
making m8 - no reason this needs to make m6
Assignee | ||
Comment 10•26 years ago
|
||
testing
Assignee | ||
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 11•26 years ago
|
||
added monitor to protect static vars
Comment 13•18 years ago
|
||
It looks like almost 6 years without any complaints is as close to verified as this gets. This one would really have to have the patches that were applied attached to verify completely. -> VERIFIED
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in
before you can comment on or make changes to this bug.
Description
•