RFR: 8144856 (XS): Fix assert in CompiledStaticCall::set_to_interpreted

Christian Thalinger christian.thalinger at oracle.com
Tue Dec 15 02:32:18 UTC 2015


AArch64 folk, is the fact that the second assert is different on AArch64 than all the other platforms on purpose?

-  assert(method_holder->data() == 0 || jump->jump_destination() == entry,
+  assert(data == 0 || destination == entry,

vs.

-  assert(jump->jump_destination() == (address)-1 || jump->jump_destination() == entry,
+  assert(destination == (address)-1 || destination == entry,

> On Dec 10, 2015, at 11:37 PM, Jamsheed C m <jamsheed.c.m at oracle.com> wrote:
> 
> Hi All,
> 
> 
> Summary: Assert code in CompiledStaticCall::set_to_interpreted is fixed. Previous implementation did multiple reads for multiple valid state check in same assert for the MT safe updates that can happen from other threads. This could cause bogus failures as after each read state could have changed. As a fix to this, made the code to read the value at once.
> 
> Bug:https://bugs.openjdk.java.net/browse/JDK-8144856
> 
> webrev: http://cr.openjdk.java.net/~thartmann/8144856/webrev.00/
> 
> Testing: jprt hotspot.
> 
> Thanks and Best Regards,
> Jamsheed
> 
> 



More information about the hotspot-compiler-dev mailing list