RFR: 8297729: Replace GrowableArray in ComputeMoveOrder with hash table [v2]
Jorn Vernee
jvernee at openjdk.org
Mon Dec 5 14:58:15 UTC 2022
> Replaces the GrowableArray 'table' in ComputeMoveOrder with a real hash table.
>
> Through testing, I found that sometimes this array is blown up to several thousand elements, most of which are `NULL`. Using a hash table prevents this large wastage.
>
> I've touched up some of the surrounding code as well. Mostly style changes, but I've also removed the `BasicType` field from the `Move` and `MoveOperation` structs, since it was unused, and added frame data storages to the fast path for stack args as well, since both are allocated on the stack.
>
> Testing: `jdk_foreign` test suite.
Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 86 additional commits since the last revision:
- Drop redundant friend decl
- improve hash slightly
- Use hashtable in ComputeMoveOrder + general cleanup
- use Arena in example
- Merge branch 'PR_20' into VM_Changes
- Address more review comments
- Fix bad @throws in MemorySegment::copy methods
- Address review comments
- Fix typo in SegmentScope javadoc
- Fix @since tag in SegmentScope
- ... and 76 more: https://git.openjdk.org/jdk/compare/884c0f38...6b10ae38
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/11392/files
- new: https://git.openjdk.org/jdk/pull/11392/files/6b10ae38..6b10ae38
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=11392&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=11392&range=00-01
Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/11392.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11392/head:pull/11392
PR: https://git.openjdk.org/jdk/pull/11392
More information about the hotspot-dev
mailing list