Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix stackwalk related jvmti functions #15872

Merged

Commits on Sep 12, 2022

  1. Change walkContinuationStackFrames to accept J9VMContinuation

    In some cases the J9VMContinuation cannot be accessed through a j9object
    so we change the parameter of walkContinuationStackFrames to accept
    a J9VMContinuation pointer directly.
    
    Adds declaration of J9VMContinuation to the top.
    
    Signed-off-by: Gengchen Tuo <gengchen.tuo@ibm.com>
    thallium committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    e083fd1 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. Fix stackwalk related jvmti functions

    In the old implementation, if a carrier thread has a virtual thread
    mounted after getVMThread being called, the virtual thread will be
    walked. We fix this by adding a check for currentContinuation of the
    carrier thread. If the currentContinuation is not null, the info of the
    carrier thread has been swapped to the currentContinuation, so the
    currentContinuation will be walked instead.
    
    To facilitate other stackwalk-related functions, a generic stackwalk
    helper is added to walk a platform thread or a virtual thread. A
    virtual can be mounted or unmounted, if it's mounted, the carrier thread
    is walked, otherwise the continuation object is walked. For a platform
    thread, if the currentContinuation is not null, the currentContinuation
    will be walked, otherwise the thread is walked.
    
    Signed-off-by: Gengchen Tuo <gengchen.tuo@ibm.com>
    thallium committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    e601745 View commit details
    Browse the repository at this point in the history