RFR(S): 8028107: Kitchensink crashed with EAV
John Rose
john.r.rose at oracle.com
Tue Dec 3 20:17:30 PST 2013
On Dec 3, 2013, at 6:25 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> Note, we have strange/swapped names for functions which check nmethod state:
>
> bool is_in_use() const { return _state == alive; }
> bool is_alive() const { return _state == alive || _state == not_entrant; }
If you can do so in a few more diff lines, I suggest fixing this by changing the enum value 'alive' to be 'in_use'.
If CompiledIC_lock causes a safepoint, and then the callee nmethod is unloaded, what guarantees that the callee nmethod will not be reallocated to some unrelated code blob in the code cache?
The logic of your fix assumes that even after an unload, it is still valid to query callee_nm->is_in_use(). Could that be a dangling pointer?
— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20131203/6aefbe64/attachment.html
More information about the hotspot-compiler-dev
mailing list