> This patch adds a simple policy to put a limit on field flattening to prevent > instances from becoming too large. It is easy to generate very huge instances > with nested flat values, so huge that the JVM struggles to allocate its > internal data structure to handle such classes. The new policy allocates a > flattening budget to each class, and field flattening in this class stops > when the budget is exhausted. The limit can be tuned with a VM parameter. > > Tested on Mach5 tier1-4 > > --------- > - [X] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Frederic Parain 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 12 additional commits since the last revision: - Merge remote-tracking branch 'upstream/lworld' into flattening_budget - Fix comment - Fix VM flag v2 - Fix handling of VM configurations to run the tests - Fix VM flag - Silently skip the test when flattening conditions are not satisfied - Add argument and CDS validation of the new VM option - Fix tabs - Adjust budget policy - Merge remote-tracking branch 'upstream/lworld' into flattening_budget - ... and 2 more: https://git.openjdk.org/valhalla/compare/3b8ea699...d2a7951a ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2372/files - new: https://git.openjdk.org/valhalla/pull/2372/files/9f746282..d2a7951a Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2372&range=05 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2372&range=04-05 Stats: 64850 lines in 610 files changed: 9340 ins; 53782 del; 1728 mod Patch: https://git.openjdk.org/valhalla/pull/2372.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2372/head:pull/2372 PR: https://git.openjdk.org/valhalla/pull/2372
