Open
Bug 102072
Opened 24 years ago
Updated 3 years ago
how can we remove the NS_strcmp from nsCSSValue::operator==
Categories
(Core :: CSS Parsing and Computation, defect, P5)
Tracking
()
NEW
mozilla1.2alpha
People
(Reporter: sspitzer, Unassigned)
References
Details
as you will soon see, I have no clue about the style system.
but I've been noticing that values that we are strduping in
nsCSSValue::operator= are chrome gif urls.
is it possible to atomize the chrome gif urls to avoid the strdup (and eventual
strcmp?)
nsCRT::strdup(const unsigned short * 0x035ee760) line 510
nsCSSValue::operator=(const nsCSSValue & {...}) line 121 + 13 bytes
MapListForDeclaration(nsICSSDeclaration * 0x035ee8a0, nsCSSList & {...}) line
1802
CSSStyleRuleImpl::MapRuleInfoInto(CSSStyleRuleImpl * const 0x035ee820,
nsRuleData * 0x0012e088) line 1641 + 19 bytes
nsRuleNode::WalkRuleTree(nsStyleStructID eStyleStruct_List, nsIStyleContext *
0x036b9b5c, nsRuleData * 0x0012e088, nsCSSStruct * 0x0012e0cc) line 1332
nsRuleNode::GetListData(nsIStyleContext * 0x036b9b5c) line 1216 + 22 bytes
nsRuleNode::GetStyleData(nsStyleStructID eStyleStruct_List, nsIStyleContext *
0x036b9b5c) line 4154 + 16 bytes
nsStyleContext::GetStyleData(nsStyleStructID eStyleStruct_List) line 385
nsStyleContext::CalcStyleDifference(nsStyleContext * const 0x036b9b5c,
nsIStyleContext * 0x036f2cc0, int & 0, int 0) line 690 + 13 bytes
CaptureChange(nsIStyleContext * 0x036f2cc0, nsIStyleContext * 0x036b9b5c,
nsIFrame * 0x036f4944, nsIContent * 0x03603550, nsStyleChangeList & {...}, int
0) line 1552
FrameManager::ReResolveStyleContext(nsIPresContext * 0x0339bcf0, nsIFrame *
0x036f4944, nsIStyleContext * 0x03808d20, nsIContent * 0x04325660, int -1,
nsIAtom * 0x00000000, nsStyleChangeList & {...}, int 0, int & 0) line 1641 + 29
bytes
FrameManager::ReResolveStyleContext(nsIPresContext * 0x0339bcf0, nsIFrame *
0x036f46ac, nsIStyleContext * 0x03739478, nsIContent * 0x035b12e0, int -1,
nsIAtom * 0x00000000, nsStyleChangeList & {...}, int 0, int & 0) line 1791
FrameManager::ReResolveStyleContext(nsIPresContext * 0x0339bcf0, nsIFrame *
0x036f450c, nsIStyleContext * 0x036c0868, nsIContent * 0x00000000, int -1,
nsIAtom * 0x00000000, nsStyleChangeList & {...}, int 0, int & 0) line 1791
FrameManager::ComputeStyleChangeFor(FrameManager * const 0x0339c1a0,
nsIPresContext * 0x0339bcf0, nsIFrame * 0x036f450c, int -1, nsIAtom *
0x00000000, nsStyleChangeList & {...}, int 0, int & 0) line 2036
nsCSSFrameConstructor::ContentStatesChanged(nsCSSFrameConstructor * const
0x0339b0d0, nsIPresContext * 0x0339bcf0, nsIContent * 0x035b12e0, nsIContent *
0x00000000) line 9687
StyleSetImpl::ContentStatesChanged(StyleSetImpl * const 0x0339b1a0,
nsIPresContext * 0x0339bcf0, nsIContent * 0x035b12e0, nsIContent * 0x00000000)
line 1239
PresShell::ContentStatesChanged(PresShell * const 0x0339ccc8, nsIDocument *
0x03392550, nsIContent * 0x035b12e0, nsIContent * 0x00000000) line 4989 + 49
bytes
nsXULDocument::ContentStatesChanged(nsXULDocument * const 0x03392550,
nsIContent * 0x035b12e0, nsIContent * 0x00000000) line 1732
nsEventStateManager::SetContentState(nsEventStateManager * const 0x03535b48,
nsIContent * 0x035b12e0, int 2) line 3577
nsXULElement::SetFocus(nsXULElement * const 0x035b12e0, nsIPresContext *
0x0339bcf0) line 4994
nsEventStateManager::PreHandleEvent(nsEventStateManager * const 0x03535b48,
nsIPresContext * 0x0339bcf0, nsEvent * 0x0012ef88, nsIFrame * 0x02c2e7a4,
nsEventStatus * 0x0012eef0, nsIView * 0x0339b410) line 623
PresShell::HandleEventInternal(nsEvent * 0x0012ef88, nsIView * 0x0339b410,
unsigned int 1, nsEventStatus * 0x0012eef0) line 5702 + 43 bytes
PresShell::HandleEvent(PresShell * const 0x0339ccc4, nsIView * 0x0339b410,
nsGUIEvent * 0x0012ef88, nsEventStatus * 0x0012eef0, int 1, int & 1) line 5633
+ 25 bytes
nsView::HandleEvent(nsView * const 0x0339b410, nsGUIEvent * 0x0012ef88,
unsigned int 28, nsEventStatus * 0x0012eef0, int 1, int & 1) line 377
nsViewManager::DispatchEvent(nsViewManager * const 0x0339b5b0, nsGUIEvent *
0x0012ef88, nsEventStatus * 0x0012eef0) line 2062
HandleEvent(nsGUIEvent * 0x0012ef88) line 68
nsWindow::DispatchEvent(nsWindow * const 0x0339b2d4, nsGUIEvent * 0x0012ef88,
nsEventStatus & nsEventStatus_eIgnore) line 733 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012ef88) line 754
nsWindow::DispatchFocus(unsigned int 107, int 1) line 4452 + 15 bytes
nsWindow::ProcessMessage(unsigned int 7, unsigned int 67360, long 0, long *
0x0012f364) line 3371 + 23 bytes
nsWindow::WindowProc(HWND__ * 0x00010728, unsigned int 7, unsigned int 67360,
long 0) line 1001 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1591b()
USER32! 77e1595d()
NTDLL! 77f9fb83()
GlobalWindowImpl::Focus(GlobalWindowImpl * const 0x0274f9c4) line 1787 + 25
bytes
nsWebShellWindow::HandleEvent(nsGUIEvent * 0x0012f5d0) line 528
nsWindow::DispatchEvent(nsWindow * const 0x0274e5f4, nsGUIEvent * 0x0012f5d0,
nsEventStatus & nsEventStatus_eIgnore) line 733 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f5d0) line 754
nsWindow::DispatchFocus(unsigned int 105, int 1) line 4452 + 15 bytes
nsWindow::ProcessMessage(unsigned int 7, unsigned int 0, long 0, long *
0x0012f9ac) line 3368 + 23 bytes
nsWindow::WindowProc(HWND__ * 0x00010720, unsigned int 7, unsigned int 0, long
0) line 1001 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1591b()
USER32! 77e1595d()
NTDLL! 77f9fb83()
USER32! 77e169a7()
USER32! 77e13eb0()
USER32! 77e16469()
USER32! 77e1a6f8()
nsWindow::WindowProc(HWND__ * 0x00010720, unsigned int 6, unsigned int 1, long
0) line 1008 + 31 bytes
USER32! 77e13eb0()
USER32! 77e1591b()
USER32! 77e1595d()
NTDLL! 77f9fb83()
USER32! 77e191df()
nsAppShell::Run(nsAppShell * const 0x016779b0) line 98 + 24 bytes
nsAppShellService::Run(nsAppShellService * const 0x01672d90) line 442
main1(int 4, char * * 0x00485cd0, nsISupports * 0x00000000) line 1278 + 32 bytes
main(int 4, char * * 0x00485cd0) line 1606 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e879
Updated•24 years ago
|
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0
Comment 1•24 years ago
|
||
any idea on how much time it might save if we did this and what operations it
would speed up?
Updated•24 years ago
|
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Updated•24 years ago
|
Target Milestone: mozilla0.9.9 → mozilla1.2
Comment 3•22 years ago
|
||
We're no longer strdupping (per patch in bug 113173) but we still use strcmp in
operator==.
QA Contact: ian → style-system
Updated•17 years ago
|
Summary: how can we remove the strdup from nsCSSValue::operator= → how can we remove the NS_strcmp from nsCSSValue::operator==
Updated•16 years ago
|
Assignee: hyatt → nobody
Comment 4•16 years ago
|
||
This is a mass change. Every comment has "assigned-to-new" in it.
I didn't look through the bugs, so I'm sorry if I change a bug which shouldn't be changed. But I guess these bugs are just bugs that were once assigned and people forgot to change the Status back when unassigning.
Status: ASSIGNED → NEW
Priority: -- → P5
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•