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