[foreign-abi] Integrated: 8251047: GC stackwalking doesn't work when intrinsics are enabled
    Jorn Vernee 
    jvernee at openjdk.java.net
       
    Mon Aug 24 15:12:45 UTC 2020
    
    
  
On Wed, 5 Aug 2020 10:54:02 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
> Hi,
> 
> This patch fixes GC stack walking for optimized native calls.
> 
> For calls in compiled frames, the callee argument oops are processed using special case code in
> `CompiledMethod::preserve_callee_argument_oops`. This code relies on the original bytecode to find the signature of the
> callee, but for optimized native calls this doesn't make sense, since the original call is replaced, and some of the
> arguments (notably some that are oops) are discarded. In the case of an optimized native call, we can skip all callee
> argument oop processing, since we can't pass any oops to native calls any ways.  Since the current code was already
> looking at debug info to find the signature of the callee, I piggy-backed on that to add a flag for optimized native
> calls. If the flag is set, we return early, skipping any processing.  (I left in the assert I used to debug this, since
> it gives the failure a better error message, should we run into this again in the future)  Thanks, Jorn
This pull request has now been integrated.
Changeset: f8cc3f43
Author:    Jorn Vernee <jvernee at openjdk.org>
URL:       https://git.openjdk.java.net/panama-foreign/commit/f8cc3f43
Stats:     65 lines in 15 files changed: 1 ins; 54 del; 10 mod
8251047: GC stackwalking doesn't work when intrinsics are enabled
Reviewed-by: mcimadamore
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/279
    
    
More information about the panama-dev
mailing list