[foreign-memaccess] RFR 8224993: Add Unsafe support for MemoryAddress (again)
    Maurizio Cimadamore 
    maurizio.cimadamore at oracle.com
       
    Thu May 30 14:59:03 UTC 2019
    
    
  
Hi,
small followup to yesterday's push.
As I was benchmarking bulk copy performances, I realized that there's a 
bug in the methods which I added yesterday on sun.misc.Unsafe - which 
delegate to the wrong Unsafe (itself), resulting in SO.
I also cleaned up uses of Unsafe internally - and added a @ForceInline 
on MemoryAddressImpl::copy which basically makes it as fast as a raw 
unsafe call to Unsafe::copyMemory. We're still investigating as to why 
exactly the annotation is needed to get good inlining.
I've also added a shortcircuit in AbstractMemoryScopeImpl::checkAlive, 
which avoids a call to 'isAlive' if the scope is pinned. This was 
causing some profile pollution (although performances were still good - 
probably because of the bi-morphic inline cache).
Webrev:
http://cr.openjdk.java.net/~mcimadamore/panama/8224993_followup/
Maurizio
    
    
More information about the panama-dev
mailing list