jdk icon indicating copy to clipboard operation
jdk copied to clipboard

8331885: C2: meet between unloaded and speculative types is not symmetric

Open iwanowww opened this issue 9 months ago • 4 comments

TypeInstPtr::xmeet_unloaded computes the MEET of two InstPtrs when at least one is unloaded, but doesn't preserve speculative part if one is present. It causes the corresponding assert to fail.

Proposed fix unconditionally keeps speculative part.

Testing: hs-tier1 - hs-tier4


Progress

  • [x] Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • [x] Change must not contain extraneous whitespace
  • [x] Commit message must refer to an issue

Issue

  • JDK-8331885: C2: meet between unloaded and speculative types is not symmetric (Bug - P3)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/19249/head:pull/19249
$ git checkout pull/19249

Update a local copy of the PR:
$ git checkout pull/19249
$ git pull https://git.openjdk.org/jdk.git pull/19249/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 19249

View PR using the GUI difftool:
$ git pr show -t 19249

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/19249.diff

Webrev

Link to Webrev Comment

iwanowww avatar May 15 '24 13:05 iwanowww

:wave: Welcome back vlivanov! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

bridgekeeper[bot] avatar May 15 '24 13:05 bridgekeeper[bot]

@iwanowww This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8331885: C2: meet between unloaded and speculative types is not symmetric

Reviewed-by: roland, thartmann

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 37 new commits pushed to the master branch:

  • d4c2edf2c91a790874c80f1a7bea5bfd4f438bde: 8331855: Convert jdk.jdeps jdeprscan and jdeps to use the Classfile API
  • beeffd4671649e5d8f9c96f0455ac90a82917234: 8332109: Convert remaining tests using com.sun.tools.classfile to ClassFile API
  • e0d1c4b38c7ad2dc67f3d14b0b179b313c85fc0a: 8321428: Deprecate for removal the package java.beans.beancontext
  • 0b0445be2833286b4eace698b91a658de3e7608b: 8331724: Refactor j.l.constant implementation to internal package
  • d84a8fd8762fe9448e73d75ec9dc8c4876b1a709: 8332327: Return _methods_jmethod_ids field back in VMStructs
  • f1ce9b0ecce9b506f5bf7a66fcf03c93b9ae8fed: 8331557: Serial: Refactor SerialHeap::do_collection
  • 14198f502f0a721e479adc754a2c7d94b665fbe6: 8329653: JLILaunchTest fails on AIX after JDK-8329131
  • ae999eae7e61072ad964a43f622fa930ce1179f7: 8129418: JShell: better highlighting of errors in imports on demand
  • 6422efa3c7917525a879e80657ca4dcfb6d67514: 8332394: Add friendly output when @IR rule missing value
  • 9160ef8b9d9f2c87ca6df08d85dad4271085f0ac: 8332237: [nmt] Remove the need for ThreadStackTracker::track_as_vm()
  • ... and 27 more: https://git.openjdk.org/jdk/compare/8032d640c0d34fe507392a1d4faa4ff2005c771d...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

openjdk[bot] avatar May 15 '24 13:05 openjdk[bot]

@iwanowww The following label will be automatically applied to this pull request:

  • hotspot-compiler

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

openjdk[bot] avatar May 15 '24 13:05 openjdk[bot]

Webrevs

mlbridge[bot] avatar May 15 '24 13:05 mlbridge[bot]

@iwanowww - Will this fix be integrated soon? There are two solid failures in every Tier5 job set and have been for quite a while.

dcubed-ojdk avatar May 20 '24 16:05 dcubed-ojdk

Thanks for the reviews, Roland and Tobias.

hs-comp-stress and hs-precheckin-comp testing passed.

/integrate

iwanowww avatar May 20 '24 17:05 iwanowww

Going to push as commit 7652f9811bfddf08650b0c3277012074873deade. Since your change was applied there have been 47 commits pushed to the master branch:

  • d6b7f9b170b6ce4f7275cc7595b71b9a3e93c133: 8331851: Add specific regression leap year tests for Calendar.roll()
  • b92bd671835c37cff58e2cdcecd0fe4277557d7f: 8332403: Anachronistic reference to Netscape Communicator in Swing API docs
  • 8acdd2d7c8de17515b87815d54ce556237039406: 8330565: C2: Multiple crashes with CTW after JDK-8316991
  • 0a58cffe88ba823e71fcdcca64b784ed04ca5398: 8298405: Implement JEP 467: Markdown Documentation Comments
  • 39a55e97799b5328da85aaa66c8d23175b305691: 8324809: compiler can crash with SOE while proving if two recursive types are disjoint
  • b7ae0ae1d7481e66a07f40bf01c5614fdf44c2ed: 8328572: JFR: Use Class.forPrimitiveName(String)
  • e611151796d71c40a9395cb6fbe734f36d4c1b55: 8331281: RISC-V: C2: Support vector-scalar and vector-immediate bitwise logic instructions
  • 44bdf9964eb2dd0eb4034576e1f903a27c410286: 8332239: Improve CSS for block tags
  • 9bb6169a1cba900fa79d63119696efe265762083: 8317621: --add-script should support JavaScript modules
  • 4eb1eaf04477b9a8947a57655cf36380b5b88b5c: 8329617: Update stylesheet for specs and tool documentation
  • ... and 37 more: https://git.openjdk.org/jdk/compare/8032d640c0d34fe507392a1d4faa4ff2005c771d...master

Your commit was automatically rebased without conflicts.

openjdk[bot] avatar May 20 '24 17:05 openjdk[bot]

@iwanowww Pushed as commit 7652f9811bfddf08650b0c3277012074873deade.

:bulb: You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

openjdk[bot] avatar May 20 '24 17:05 openjdk[bot]