RFR(XS): 8229450: C2 compilation fails with assert(found_sfpt) failed

Tobias Hartmann tobias.hartmann at oracle.com
Wed Aug 28 09:42:41 UTC 2019

On 27.08.19 10:34, Liu Xin wrote:
> I followed Tobias' guideline.  I make a testcase: TestMe.java. It's very similar to the graph
> generated from replay file. I intend to force line 40 and 53 share the boolean expression 'len <
> BINARY_VERSION_MARKER_SIZE', but still no luck. 
> IGVN always removes one of them. I am pretty sure that replay file compiles the same graph, but some
> profile data keep 364 Bool like that. Could you give me a hint? 

Just quickly looked at your test:
- line 53: How can bytes ever be NULL?
- Compared to the replay file, are you sure that the same paths are being marked as taken with your
test? For example, is the break in line 43 executed or the return in line 54? It seems that you are
always running with the exact same array whereas it seems likely that the original run used
different arrays (and therefore the profile in the replay reports different paths to be taken).
- Did you compare the output of TraceLoopOpts?

Best regards,

More information about the hotspot-compiler-dev mailing list