< prev index next >
src/share/vm/gc/g1/concurrentMarkThread.cpp
Print this page
*** 1,6 ****
! /*
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
--- 1,6 ----
! /*
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
*** 30,39 ****
--- 30,40 ----
#include "gc/g1/g1MMUTracker.hpp"
#include "gc/g1/suspendibleThreadSet.hpp"
#include "gc/g1/vm_operations_g1.hpp"
#include "gc/shared/gcTrace.hpp"
#include "memory/resourceArea.hpp"
+ #include "runtime/orderAccess.hpp"
#include "runtime/vmThread.hpp"
// ======= Concurrent Mark Thread ========
// The CM thread is created when the G1 garbage collector is used
*** 331,340 ****
--- 332,342 ----
CGC_lock->wait(Mutex::_no_safepoint_check_flag);
}
if (started()) {
set_in_progress();
+ OrderAccess::storestore();
clear_started();
}
}
// Note: As is the case with CMS - this method, although exported
< prev index next >