[foreign-memaccess+abi] RFR: 8302556: Find better way to create unsafe native segments [v3]
    Maurizio Cimadamore 
    mcimadamore at openjdk.org
       
    Wed Feb 15 19:16:47 UTC 2023
    
    
  
On Wed, 15 Feb 2023 18:06:21 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
>> src/java.base/share/classes/jdk/internal/foreign/abi/UpcallStubs.java line 60:
>> 
>>> 58:             }
>>> 59:         });
>>> 60:         return MemorySegment.ofAddress(entry).reinterpret(arena.scope(), null);
>> 
>> In principle we could just express this using public API if we tweak the semantics for cleanup action to always run in case the scope is found to be already closed.
>
> Yeah, I think that might be better as semantics in general. If the attach fails, don't leak, and run the cleanup action.
Not super sure how to specify this though - e.g. should we say that the cleanup is always run when the method completes abnormally? Possible failure causes are:
* the scope is no longer alive (this is what we care about)
* the size is negative
* the method is called on a segment that is not native
* the method is called and restricted access is not enabled.
Note 100% sure *when* we should say we would attempt to run the cleanup action. Kind of tempted leave it as is.
-------------
PR: https://git.openjdk.org/panama-foreign/pull/797
    
    
More information about the panama-dev
mailing list