We have type tags like:
IsTextFlag = 1,
IsCommentFlag = 1 << 1,
IsContainerFlag = 1 << 2,
IsElementFlag = 1 << 3,
IsStyledElementFlag = 1 << 4,
IsHTMLFlag = 1 << 5,
IsSVGFlag = 1 << 6,
InDocumentFlag = 1 << 9,
IsShadowRootOrSVGShadowRootFlag = 1 << 16,
And these are apparently redundant. We could compress these.
(In reply to comment #0)
> InDocumentFlag = 1 << 9,
This one is not redundant.
Created attachment 137289 [details]
As Ryosuke's request at #webkit, I took two bencharks from Dromaeo which hit DOM heavily:
dom-modify: before after
avg 3,816.93 3,819.05
stdev 44.37 90.98
dom-traverse: before after
avg 2,472.91 2,520.09
stdev 62.35 48.05
The lager number is better.
This even shows a tiny improvement. But it's unlikely. It will be just a noise.
I think we can say that this has no observable performance impact.
Comment on attachment 137289 [details]
Clearing flags on attachment: 137289
Committed r114333: <http://trac.webkit.org/changeset/114333>
All reviewed patches have been landed. Closing bug.
Thanks for the perf. analysis.
Reopening due to the report: https://bugs.webkit.org/show_bug.cgi?id=84511
Code seems to be changed a lot in Node.h - https://github.com/WebKit/WebKit/blob/aff87f6cbcf56b5fe448770a00f51814fa626b7c/Source/WebCore/dom/Node.h
I think this patch or patch related changes cannot be applied or already applied in other general concept. Can this be marked as "RESOLVED LATER" and "RESOLVED CONFIGURATION CHANGED"?
-> firstname.lastname@example.org - any input since Comment 03 mentioned about having any past discussions with yourself? Thanks!
We can consider doing this refactoring but keeping this 10 year old bug isn't the way to go. -> Later.