RFR: JDK-8199216: Quadratic layout time with nested nodes and pseudo-class in style sheet [v8]
Kevin Rushforth
kcr at openjdk.org
Thu Sep 14 22:46:19 UTC 2023
On Mon, 14 Aug 2023 13:17:14 GMT, Johan Vos <jvos at openjdk.org> wrote:
>> John Hendrikx has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:
>>
>> - Merge branch 'master' of https://git.openjdk.org/jfx into
>> feature/immutable-pseudoclassstate
>> - Merge remote-tracking branch 'upstream/master' into feature/immutable-pseudoclassstate
>> - Avoid using Lambda in ImmutablePseudoClassSetsCache.of()
>> - Merge branch 'master' of https://git.openjdk.org/jfx into
>> feature/immutable-pseudoclassstate
>> - Fix another edge case in BitSet equals
>>
>> When arrays are not the same size, but there are no set bits in the ones
>> the other set doesn't have, two bit sets can still be considered equal
>> - Take element type into account for BitSet.equals()
>> - Base BitSet on AbstractSet to inherit correct equals/hashCode/toArray
>>
>> - Removed faulty toArray implementations in PseudoClassState and
>> StyleClassSet
>> - Added test that verifies equals/hashCode for PseudoClassState respect
>> Set contract now
>> - Made getBits package private so it can't be inherited
>> - Remove unused code
>> - Ensure Match doesn't allow modification
>> - Simplify ImmutablePseudoClassSetsCache and avoid an unnecessary copy
>> - ... and 6 more: https://git.openjdk.org/jfx/compare/9ad0e908...7975ae99
>
> This is a great PR with a massive performance improvement. I'll have a more detailed look at the changes, but this looks great.
@johanvos Do you want to re-review? The only changes since you reviewed (in addition to a merge from master) were some minor changes to the unit test.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1076#issuecomment-1720250132
More information about the openjfx-dev
mailing list