mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
8009536: G1: Apache Lucene hang during reference processing
In CMTask::do_marking_step(), Skip offering termination and entering the first and second synchronization barriers if called from a serial context, i.e. the VM thread. Reviewed-by: brutisso, tschatzl
This commit is contained in:
parent
d4f955a545
commit
d41c0fce7f
2 changed files with 116 additions and 76 deletions
|
@ -166,7 +166,7 @@ class CMBitMap : public CMBitMapRO {
|
|||
class CMMarkStack VALUE_OBJ_CLASS_SPEC {
|
||||
VirtualSpace _virtual_space; // Underlying backing store for actual stack
|
||||
ConcurrentMark* _cm;
|
||||
oop* _base; // bottom of stack
|
||||
oop* _base; // bottom of stack
|
||||
jint _index; // one more than last occupied index
|
||||
jint _capacity; // max #elements
|
||||
jint _saved_index; // value of _index saved at start of GC
|
||||
|
@ -1146,7 +1146,9 @@ public:
|
|||
// trying not to exceed the given duration. However, it might exit
|
||||
// prematurely, according to some conditions (i.e. SATB buffers are
|
||||
// available for processing).
|
||||
void do_marking_step(double target_ms, bool do_stealing, bool do_termination);
|
||||
void do_marking_step(double target_ms,
|
||||
bool do_termination,
|
||||
bool is_serial);
|
||||
|
||||
// These two calls start and stop the timer
|
||||
void record_start_time() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue