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

8265184: [lworld] [AArch64] Broken fast class init barrier for static calls in c2i adapter #384

Closed
wants to merge 1 commit into from

Commits on Apr 14, 2021

  1. 8265184: [lworld] [AArch64] Broken fast class init barrier for static…

    … calls in c2i adapter
    
    The tier1 test runtime/clinit/ClassInitBarrier.java fails on the lworld
    branch on AArch64.  The particular case that fails is calling a static
    native method `A.staticN()` which should block in the c2i adapter until
    class A's initialisation is complete but doesn't.
    
    The check for a static method is backwards: the class initialisation
    barrier code is executed when the method is *not* static (ANDS will set
    the EQ flag if the result is zero).  I'm not sure why it's like this but
    fast class initialisation for AArch64 was added after the original
    lworld port which also touches generate_i2c2i_adapters so maybe
    something got messed up in the merge.
    
    Fix by making the code the same as mainline.
    nick-arm committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    d4b763d View commit details
    Browse the repository at this point in the history