Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
0126624
JDK-8385855
eme64 Jun 5, 2026
a80c989
add TestX1
eme64 Jun 9, 2026
fa75fe9
TestX2
eme64 Jun 9, 2026
a46bebb
fix and more testing
eme64 Jun 9, 2026
d6ac06c
some more tests
eme64 Jun 9, 2026
dc8b6fa
short test
eme64 Jun 9, 2026
a2ebeb3
more test
eme64 Jun 9, 2026
9e0e980
yet another test
eme64 Jun 9, 2026
f535431
more tests and TODO
eme64 Jun 9, 2026
2cd845f
better annotations
eme64 Jun 9, 2026
ce522e3
more tests still
eme64 Jun 9, 2026
f05f57d
more tests and TODOs
eme64 Jun 9, 2026
5da70dd
more testing
eme64 Jun 10, 2026
a4fd1d3
and one more test
eme64 Jun 10, 2026
f5a4fb9
more tests yet again
eme64 Jun 10, 2026
329d2b8
one more test
eme64 Jun 10, 2026
6687f63
fix check
eme64 Jun 10, 2026
fbd52fe
fix short test
eme64 Jun 10, 2026
c59ab39
fix up more tests
eme64 Jun 10, 2026
a7f23d0
small improvements
eme64 Jun 10, 2026
8cb7d3d
update comments
eme64 Jun 10, 2026
3c484d6
more comments
eme64 Jun 10, 2026
fa7e081
2 more basic cases
eme64 Jun 10, 2026
d98bb65
fix testIR1c/d
eme64 Jun 10, 2026
ddcaa7f
new testIR3b
eme64 Jun 10, 2026
57f91ae
opaque check case
eme64 Jun 10, 2026
9d18d0b
more tests and comments
eme64 Jun 10, 2026
f1230e2
wip fuzzer
eme64 Jun 10, 2026
7c6abca
more for fuzzer
eme64 Jun 10, 2026
1f20619
more fuzzer material
eme64 Jun 10, 2026
deaf59a
loop shapes
eme64 Jun 10, 2026
0f2eaa0
even more fuzzing
eme64 Jun 10, 2026
14e00ce
almost done with fuzzer
eme64 Jun 10, 2026
158ae53
cleanup
eme64 Jun 11, 2026
71631d5
more testing
eme64 Jun 11, 2026
a6aeb88
small documentation fixes
eme64 Jun 11, 2026
66f9804
IR tests for byte and char
eme64 Jun 11, 2026
c89892a
more comments and fixes
eme64 Jun 11, 2026
873ad95
more tests, almost there
eme64 Jun 11, 2026
9797def
finish up test
eme64 Jun 11, 2026
a1597f4
small fixes
eme64 Jun 11, 2026
d95562f
more small fixes
eme64 Jun 11, 2026
dced674
Merge branch 'master' into JDK-8385855-filtered_int_type-CmpU
eme64 Jun 11, 2026
d0e511a
apply review suggestion
eme64 Jun 12, 2026
db51806
rm fuzzer, will integrate it with JDK-8386597
eme64 Jun 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/hotspot/share/opto/ifnode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -669,9 +669,11 @@ const TypeInt* IfNode::filtered_int_type(PhaseGVN* gvn, Node* val, Node* if_proj
BoolNode* bol = iff->in(1)->as_Bool();
if (bol->in(1) && bol->in(1)->is_Cmp()) {
const CmpNode* cmp = bol->in(1)->as_Cmp();
// Val is always the lhs of the comparision: val <test> cmp2
if (cmp->in(1) == val) {
assert(cmp->Opcode() == Op_CmpI, "signed comparison required");
// Val is always the lhs of the comparision: val CmpI cmp2
if (cmp->Opcode() == Op_CmpI && cmp->in(1) == val) {
// Only CmpI allowed, assumed by signed logic below.
// We could extend to CmpU in the future, and would
// have to implement unsigned range logic below.
const TypeInt* cmp2_t = gvn->type(cmp->in(2))->isa_int();
if (cmp2_t != nullptr) {
jint lo = cmp2_t->_lo;
Expand Down
Loading