equal
deleted
inserted
replaced
68 #endif /* USDT2 */ |
68 #endif /* USDT2 */ |
69 } |
69 } |
70 |
70 |
71 void VM_GC_Operation::acquire_pending_list_lock() { |
71 void VM_GC_Operation::acquire_pending_list_lock() { |
72 // we may enter this with pending exception set |
72 // we may enter this with pending exception set |
73 instanceRefKlass::acquire_pending_list_lock(&_pending_list_basic_lock); |
73 InstanceRefKlass::acquire_pending_list_lock(&_pending_list_basic_lock); |
74 } |
74 } |
75 |
75 |
76 |
76 |
77 void VM_GC_Operation::release_and_notify_pending_list_lock() { |
77 void VM_GC_Operation::release_and_notify_pending_list_lock() { |
78 |
78 |
79 instanceRefKlass::release_and_notify_pending_list_lock(&_pending_list_basic_lock); |
79 InstanceRefKlass::release_and_notify_pending_list_lock(&_pending_list_basic_lock); |
80 } |
80 } |
81 |
81 |
82 // Allocations may fail in several threads at about the same time, |
82 // Allocations may fail in several threads at about the same time, |
83 // resulting in multiple gc requests. We only want to do one of them. |
83 // resulting in multiple gc requests. We only want to do one of them. |
84 // In case a GC locker is active and the need for a GC is already signalled, |
84 // In case a GC locker is active and the need for a GC is already signalled, |