[foreign-memaccess+abi] RFR: Simplify ValueLayouts
    Maurizio Cimadamore 
    mcimadamore at openjdk.org
       
    Wed Feb 15 16:41:00 UTC 2023
    
    
  
On Wed, 15 Feb 2023 16:06:21 GMT, Per Minborg <pminborg at openjdk.org> wrote:
> This PR proposes a more shortened and simplified scheme when implementing value layouts. 
> 
> This provides a significant reduction of the code size. A new threeary duplicator is introduced. In the solution below, I sugest using a function (`ValueLayoutDuplicator<V>`) which reduces code but arguably makes it a bit more complicated. Another alternative would be to simply mandate a corresponding abstract method and Implement an explicit delegator to the constructor for each type. 
> 
> Let me know your thoughts around how to balance this.
src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java line 145:
> 143: 
> 144:         @Override
> 145:         final V dup(long bitAlignment, Optional<String> name) {
question: instead of using a duplicator object, can't we have a new `dup` overload here with the required arguments, rewire the old `dup` to the new one, and then override as appropriate in all the subclasses? That would still allow you to define `withOrder` in a single place (which, AFAICS appears to be the main simplification?)
-------------
PR: https://git.openjdk.org/panama-foreign/pull/798
    
    
More information about the panama-dev
mailing list