RFR: 8238712: ConcurrentModificationException thrown when forward reference to record type in function prototype

Henry Jen henryjen at openjdk.java.net
Tue Feb 11 18:23:23 UTC 2020


CME get thrown when nested call of createTree introduce a new declaration into the map, this is too restrictive as demonstrated by the test case that it is likely to happen when forward reference of a struct, which will introduce a new declaration while processing the function declaration.

The fix allows nested call to add new declaration and only throw CME if replace actually happens.

Also included a minor fix that should abort generate function or could cause NPE.

-------------

Commits:
 - 1b8511ee: 8238712: ConcurrentModificationException thrown when forward reference to record type in function prototype

Changes: https://git.openjdk.java.net/panama-foreign/pull/16/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/16/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8238712
  Stats: 132 lines in 4 files changed: 105 ins; 12 del; 15 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/16.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/16/head:pull/16

PR: https://git.openjdk.java.net/panama-foreign/pull/16


More information about the panama-dev mailing list