> 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

Reply via email to