Skip to content

enhance: JavaType system - #114

Merged
taofengliu merged 1 commit into
jeandle:mainfrom
taofengliu:enhance_type
Sep 8, 2026
Merged

taofengliu merged 1 commit into
jeandle:mainfrom
taofengliu:enhance_type

Conversation

@taofengliu

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Motivation:

  • OSR type recovery: during OSR compilation, a local variable of reference type is a bare load (with no metadata/attributes), and the only source of type information is the checkcast emitted by the frontend at the OSR entry; checkcast is a phase-0 JavaOp, expanded at the start of the pipeline, and its expanded form is subsequently normalized away, so dominator-chain analysis cannot recover it
  • Direct use after merging multiple predecessors with the same check (diamond shape: both branches must pass check_instanceof(K, o) before reaching the merge point, and o is used directly at the merge point)
  • Nested merge-of-merge (the inner merge block is a predecessor of the outer merge block)

This PR uses CFG based type sharpening to replace the current dominator tree based type sharpening.

Signed-off-by: taofengliu <liutaofeng.ltf@antgroup.com>
@taofengliu taofengliu added the jdk-dependent Don't run JDK tests in this PR. label Sep 3, 2026
@mergify

mergify Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 2 merge protections satisfied — ready to merge.

Show 2 satisfied protections

🟢 Require a review from a maintainer.

  • approved-reviews-by = @Maintainer

🟢 Pull request title format.

  • title ~= ^(fix|feat|docs|style|refactor|enhance|test|build|ci|chore|revert):

@NeverRaR

NeverRaR commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

LGTM

@mergify

mergify Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@taofengliu
taofengliu merged commit d0455d2 into jeandle:main Sep 8, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jdk-dependent Don't run JDK tests in this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants