Skip to content

Fold MethodHandleImpl.isCompileConstant#23540

Merged
mpirvu merged 1 commit into
eclipse-openj9:masterfrom
matthewhall2:mh_fold_isCompileConstant
Jun 22, 2026
Merged

Fold MethodHandleImpl.isCompileConstant#23540
mpirvu merged 1 commit into
eclipse-openj9:masterfrom
matthewhall2:mh_fold_isCompileConstant

Conversation

@matthewhall2

@matthewhall2 matthewhall2 commented Mar 17, 2026

Copy link
Copy Markdown
Contributor

When we have the Known Object Info and the MH object is non-null, fold the call to true.
Wait until the last iteration of VP to fold to false.

@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch from c96977e to 0ef77d8 Compare March 17, 2026 20:14
@matthewhall2 matthewhall2 changed the title Mh fold is compile constant Fold MethodHandleImpl.isCompileConstant Mar 17, 2026
@0xdaryl

0xdaryl commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

@nbhuiyan : please review

Comment thread runtime/compiler/optimizer/J9ValuePropagation.cpp Outdated
Comment thread runtime/compiler/optimizer/J9ValuePropagation.cpp Outdated
@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch 2 times, most recently from 6c014c7 to 9961c4f Compare March 31, 2026 15:57

@nbhuiyan nbhuiyan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing the review comments. The changes look good to me now.

@matthewhall2

Copy link
Copy Markdown
Contributor Author

@0xdaryl can you run the tests with eclipse-omr/omr#8209 ?

@0xdaryl

0xdaryl commented May 12, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity all jdk21 depends eclipse-omr/omr/#8209

@matthewhall2

matthewhall2 commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

windows fail looks related to #22758 (comment)
Power failure looks like a false failure, all tests show as passing in the PR build

It looks like I need to rebase for the aarch64 failures, @0xdaryl is there a way to not lose the previous test results when rebasing? (or does it matter if we lose the passing results?)

@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch from 9961c4f to 73cb211 Compare May 19, 2026 20:20
@matthewhall2

Copy link
Copy Markdown
Contributor Author

@0xdaryl can you run the tests?

@0xdaryl

0xdaryl commented May 21, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity xlinux,plinux,alinux,zlinux jdk21 depends eclipse-omr/omr#8209

Starting small, Linux targets first.

@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch from 73cb211 to 73ab06f Compare June 2, 2026 19:07
@matthewhall2

Copy link
Copy Markdown
Contributor Author

Z failure is from the vector API tests, which Ehsan confirmed was fixed. I did rebase OMR but I guess I need to again

@matthewhall2

Copy link
Copy Markdown
Contributor Author

@mpirvu or @nbhuiyan can you run the tests again please?

@nbhuiyan

nbhuiyan commented Jun 10, 2026

Copy link
Copy Markdown
Member

Jenkins test sanity xlinux,plinux,alinux,zlinux jdk21 depends eclipse-omr/omr#8209

Unfortunately I am not able to trigger PR builds.

@mpirvu

mpirvu commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity xlinux,plinux,alinux,zlinux jdk21 depends eclipse-omr/omr#8209

@mpirvu mpirvu self-assigned this Jun 11, 2026
@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch from 73ab06f to 1d68fc9 Compare June 11, 2026 13:39
@matthewhall2

matthewhall2 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

OMR rebase was needed for plinux build failure. Can you run the tests again @mpirvu ?

@mpirvu

mpirvu commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity xlinux,plinux,alinux,zlinux jdk21 depends eclipse-omr/omr#8209

@mpirvu

mpirvu commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

@matthewhall2 There are few failures. E.g.:

        
        Method_being_compiled=java/lang/invoke/VarHandle$AccessMode.valueFromMethodName(Ljava/lang/String;)Ljava/lang/invoke/VarHandle$AccessMode;
        Target=2_90_20260611_693 (Linux 5.15.0-176-generic)
        CPU=ppc64le (4 logical CPUs) (0x1fb1a0000 RAM)
        ----------- Stack Backtrace -----------
        _ZN3OMR5Power13TreeEvaluator15lookupEvaluatorEPN2TR4NodeEPNS2_13CodeGeneratorE+0x598 (0x0000793E9A779468 [libj9jit29.so+0xd09468])
        _ZN3OMR13CodeGenerator8evaluateEPN2TR4NodeE+0x88 (0x0000793E9A1D4C08 [libj9jit29.so+0x764c08])
        _ZN2J913CodeGenerator22doInstructionSelectionEv+0x11ec (0x0000793E99BA927C [libj9jit29.so+0x13927c])
        _ZN3OMR12CodeGenPhase32performInstructionSelectionPhaseEPN2TR13CodeGeneratorEPNS1_12CodeGenPhaseE+0xd4 (0x0000793E9A1EB1A4 [libj9jit29.so+0x77b1a4])
        _ZN3OMR12CodeGenPhase10performAllEv+0x154 (0x0000793E9A1EC264 [libj9jit29.so+0x77c264])
        _ZN3OMR13CodeGenerator12generateCodeEv+0x8c (0x0000793E9A1E5BDC [libj9jit29.so+0x775bdc])

@matthewhall2

Copy link
Copy Markdown
Contributor Author

ppc64le_linux fails are #24139
s390 sanity.openjdk looks related to #24071

@mpirvu

mpirvu commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity aix,win,xmax,amac jdk21 depends eclipse-omr/omr#8209

@mpirvu

mpirvu commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity aix,win,xmax,amac,plinux jdk21 depends eclipse-omr/omr#8209

@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch from 1d68fc9 to 043f469 Compare June 16, 2026 15:07
@matthewhall2

Copy link
Copy Markdown
Contributor Author

looks like there was typo @mpirvu , xmax instead of xmac

@mpirvu

mpirvu commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity aix,win,xmac,amac,plinux jdk21 depends eclipse-omr/omr#8209

@matthewhall2

Copy link
Copy Markdown
Contributor Author

x86 sanity.functional fail looks like #22758

@matthewhall2

Copy link
Copy Markdown
Contributor Author

Windows sanity.functional is #22758
Windows sanity.openjdk is the orphaned const ref error

@matthewhall2

Copy link
Copy Markdown
Contributor Author

aix fail does not look related, so I've opened an issue #24171

When we have the Known Object Info and the MH object is non-null, fold
the call to true in VP.
Wait until the last iteration of VP to fold to false.

Signed-off-by: Matthew Hall <matthew.hall3@outlook.com>
@matthewhall2 matthewhall2 force-pushed the mh_fold_isCompileConstant branch from 043f469 to 88381de Compare June 18, 2026 13:45
@matthewhall2

matthewhall2 commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

rebase was needed for mac errors, so test re-runs are needed @mpirvu

@mpirvu

mpirvu commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Jenkins test sanity all jdk21 depends eclipse-omr/omr#8209

@matthewhall2

Copy link
Copy Markdown
Contributor Author

aarch64 failure has many issues open with the same "Agent communication error: java.net.SocketException: Broken pipe"
Z fails related to #24071
Windows fails: #22758 and the known orphaned const ref error

@mpirvu

mpirvu commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Since all test failures have been accounted for, this PR is ready to be merged.

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

Labels

Projects

Development

Successfully merging this pull request may close these issues.

4 participants