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

jdk15+26: MethodHandles.collectReturnValue and others.. methods missing #9849

Closed
andrew-m-leonard opened this issue Jun 11, 2020 · 4 comments · Fixed by #9865
Closed

jdk15+26: MethodHandles.collectReturnValue and others.. methods missing #9849

andrew-m-leonard opened this issue Jun 11, 2020 · 4 comments · Fixed by #9865

Comments

@andrew-m-leonard
Copy link
Contributor

jdk-15+26 merge fails to build:

/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:392: error: cannot find symbol
                        case GET -> MethodHandles.collectReturnValue(modeHandle, filterFromTarget);
                                                 ^
  symbol:   method collectReturnValue(MethodHandle,MethodHandle)
  location: class MethodHandles
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:395: error: cannot find symbol
                            MethodHandle adapter = MethodHandles.collectReturnValue(modeHandle, filterFromTarget);
                                                                ^
  symbol:   method collectReturnValue(MethodHandle,MethodHandle)
  location: class MethodHandles
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:405: error: cannot find symbol
                            MethodHandle adapter = MethodHandles.collectReturnValue(modeHandle, filterFromTarget);
                                                                ^
  symbol:   method collectReturnValue(MethodHandle,MethodHandle)
  location: class MethodHandles
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:599: error: cannot find symbol
            byte refKind = directHandle.member.getReferenceKind();
                                       ^
  symbol:   variable member
  location: variable directHandle of type DirectMethodHandle
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:600: error: cannot access InfoFromMemberName
            MethodHandleInfo info = new InfoFromMemberName(
                                        ^
  bad source file: /home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/build/linux-x86_64-server-release/support/j9jcl_sources/java.base/share/classes/java/lang/invoke/InfoFromMemberName.java
    file does not contain class java.lang.invoke.InfoFromMemberName
    Please remove or make sure it appears in the correct subdirectory of the sourcepath.
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:602: error: cannot find symbol
                    directHandle.member,
                                ^
  symbol:   variable member
  location: variable directHandle of type DirectMethodHandle
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:605: error: cannot find symbol
            if (MethodHandleNatives.refKindIsMethod(refKind)) {
                                   ^
  symbol:   method refKindIsMethod(byte)
  location: class MethodHandleNatives
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:608: error: cannot find symbol
            } else if (MethodHandleNatives.refKindIsField(refKind)) {
                                          ^
  symbol:   method refKindIsField(byte)
  location: class MethodHandleNatives
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/java/lang/invoke/VarHandles.java:610: error: cannot find symbol
            } else if (MethodHandleNatives.refKindIsConstructor(refKind)) {
                                          ^
  symbol:   method refKindIsConstructor(byte)
  location: class MethodHandleNatives
/home/admin/mydocker/ccm/openjdk-build/mergescripts/merge_tmp/src/java.base/share/classes/jdk/internal/access/SharedSecrets.java:354: error: cannot find symbol
            MethodHandles.lookup().ensureInitialized(c);
                                  ^
  symbol:   method ensureInitialized(Class<CAP#1>)
  location: class Lookup
  where CAP#1 is a fresh type-variable:
    CAP#1 extends Object from capture of ?

@pshipton
Copy link
Member

@DanHeidinga

@DanHeidinga
Copy link
Member

@babsingh Can you confirm if these are related to the Foreign memory JEP updates (preview 2) you were looking at?

If they are, can we get them stubbed to throw an exception so we can import the next jdk15 version?

@pshipton
Copy link
Member

pshipton commented Jun 11, 2020

Note the jdk15 acceptance build is disabled, blocked by #9771, so even with stubs that allow the openj9-staging code to compile, we won't be "import[ing] the next jdk15 version" before resolving that.

@babsingh
Copy link
Contributor

Can you confirm if these are related to the Foreign memory JEP updates (preview 2) you were looking at?

Yes, these are related to the Foreign memory JEP updates (preview 2). They were introduced last week in the below commit. I will prepare stubs for them.

commit 850f9aa9fd95b7ae45f2ce64ccb49b24f7faa44a
Author: mcimadamore <unknown>
Date:   Wed Jun 3 16:50:03 2020 +0100

    8246095: Tweaks to memory access API
    Summary: Add more user friendly API points to the foreign memory acesss API
    Reviewed-by: chegar, psandoz
    Contributed-by: chris.hegarty@oracle.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants