If the node to be unlinked doesn't have any prev pointer, then unlink_after_acquire() will set _entry_list_tail to null before calling entry_list_tail() in order to force a complete rebuild of the doubly linked entry_list.
This is not optimal. We should optimize unlink_after_acquire() so that it only converts the first part of the entry_list from a singly linked list into a doubly linked list and leave the _entry_list_tail pointer untouched.
This is not optimal. We should optimize unlink_after_acquire() so that it only converts the first part of the entry_list from a singly linked list into a doubly linked list and leave the _entry_list_tail pointer untouched.
- relates to
-
JDK-8343840 Rewrite the ObjectMonitor lists
-
- Resolved
-