RFR: 8224162: assert(profile.count() == 0) failed: sanity in InlineTree::is_not_reached

Jie Fu fujie at loongson.cn
Wed Jun 5 05:53:12 UTC 2019


Hi Vladimir Ivanov and all,

Thanks Vladimir Ivanov for your help and review.
Updated: http://cr.openjdk.java.net/~jiefu/8224162/webrev.11/

Vladimir Ivanov's nice refactoring has been merged in it.
May I get a second review for this change?

Thanks a lot.
Best regards,
Jie

On 2019/6/5 上午12:17, Vladimir Ivanov wrote:
> The failure is caused by saturated_add() returning 0 for non-zero 
> arguments on sparc. The culprit is jlong vs jint and 
> reinterpret_cast<int&>. I believe what happens is, since sparc is 
> big-endian, the cast from 64-bit to 32-bit may return upper part of 
> the value (depending on actual machine code). I suggest to fix it by 
> switching from reinterpret_cast to static_cast.

Great!
To be honest, I didn't realize the problem of reinterpret_cast<int&> on 
big-endian systems before.
Thanks for your fix.

>
> Along with the fix, I slightly refactored your patch and ended up with 
> the following version:
>   http://cr.openjdk.java.net/~vlivanov/jiefu/8224162/webrev.11_10/
>
> Let me know what you think about it.

I like it. Thank you very much.




More information about the hotspot-compiler-dev mailing list