-
Bug
-
Resolution: Unresolved
-
P4
-
repo-valhalla
-
Cause Known
Valhalla regexes for IR allocations are still old-style: they try to find a reference to the type we are interested in, then skip possible spilling, and find the call to the allocation function. This is quite brittle as already noticed (and fixed) in JDK-8314999.
For instance, InlineTypeRegexes::ALLOC is "(.*precise compiler/valhalla/inlinetypes/MyValue.*\\R(.*(?i:mov|xorl|nop|spill).*\\R)*.*C2 Runtime new_instance" + END
Let's instead use the IRNode::ALLOC_OF that matches on the graph and so has no spilling problems.
Many other regexes could probably be replaced/subsumed by IRNode ones.
For instance, InlineTypeRegexes::ALLOC is "(.*precise compiler/valhalla/inlinetypes/MyValue.*\\R(.*(?i:mov|xorl|nop|spill).*\\R)*.*C2 Runtime new_instance" + END
Let's instead use the IRNode::ALLOC_OF that matches on the graph and so has no spilling problems.
Many other regexes could probably be replaced/subsumed by IRNode ones.
- blocks
-
JDK-8357785 [lworld] TestResolvedJavaType fails due to unexpected getInstanceFields order
-
- In Progress
-
- relates to
-
JDK-8314999 IR framework fails to detect allocation
-
- Resolved
-