RFR(S) : 8043125 : compiler/types/correctness/CorrectnessTest.java: assert(layout->tag() == DataLayout::speculative_trap_data_tag) failed: wrong type
roland.westrelin at oracle.com
Wed Nov 5 13:00:19 UTC 2014
> actually, I've already pushed this. However before that, I ran modified 'types/correctness/CorrectnessTest.java' to check the case similar to the one which you described : w/ the extra thread which calls WB.ClearMethodState in the loop. And I didn't get any failures, so it looks like it's safe.
> if we bump into problem w/ that, I'll return VM operation.
FWIW, I find this use of clean_method_data() misleading. clean_method_data only removes the klass/method references and it doesn’t reset counters or remove recorded traps so WB_ClearMethodState() doesn’t really clear the method state. It would be better, I think, if you had your own method in MethodData to clean everything.
More information about the hotspot-compiler-dev