[foreign-abi] RFR: 8253796: Consider making CValueLayout public.

Jorn Vernee jvernee at openjdk.java.net
Tue Sep 29 15:28:34 UTC 2020


Hi,

This PR makes CValueLayout a public nested class of CLinker, meant to be extended. To quote the motivation from the JBS
issue:

> Jextract uses an attribute to attach temporary information to layouts regarding the canonical layout field in CLinker
> they correspond to.
> But, creating a dynamic constant out of these layouts is a complex process, since we need to recursively filter out
> this internal jextract attribute, which requires us to recreate GroupLayouts, SequenceLayouts, FunctionDescriptors, and
> ValueLayouts.  It would be easier if we could extend CValueLayout with a custom jextract layout class, which has an
> extract field to indicate which CLinker constant they correspond to. In that case e.g. SourceConstantHelper can cast to
> this custom class and retrieve this extra field, removing the need to use attributes, and the difficulties associated
> with them.

Thanks,
Jorn

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

Commit messages:
 - - Make dup non-protected
 - Make CValueLayout public

Changes: https://git.openjdk.java.net/panama-foreign/pull/359/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=359&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253796
  Stats: 379 lines in 8 files changed: 151 ins; 183 del; 45 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/359.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/359/head:pull/359

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


More information about the panama-dev mailing list