test/hotspot/gtest/utilities/test_globalCounter.cpp
changeset 52332 d2a3503c72f7
parent 51179 516acf6956a2
child 59247 56bf71d64d51
equal deleted inserted replaced
52331:8d8702585652 52332:d2a3503c72f7
    45     : JavaTestThread(post), _test(test), _wrt_start(wrt_start) {};
    45     : JavaTestThread(post), _test(test), _wrt_start(wrt_start) {};
    46   virtual ~RCUReaderThread(){}
    46   virtual ~RCUReaderThread(){}
    47   void main_run() {
    47   void main_run() {
    48     _wrt_start->signal();
    48     _wrt_start->signal();
    49     while (!_exit) {
    49     while (!_exit) {
    50       GlobalCounter::critical_section_begin(this);
    50       GlobalCounter::CSContext cs_context = GlobalCounter::critical_section_begin(this);
    51       volatile TestData* test = OrderAccess::load_acquire(_test);
    51       volatile TestData* test = OrderAccess::load_acquire(_test);
    52       long value = OrderAccess::load_acquire(&test->test_value);
    52       long value = OrderAccess::load_acquire(&test->test_value);
    53       ASSERT_EQ(value, GOOD_VALUE);
    53       ASSERT_EQ(value, GOOD_VALUE);
    54       GlobalCounter::critical_section_end(this);
    54       GlobalCounter::critical_section_end(this, cs_context);
    55       {
    55       {
    56         GlobalCounter::CriticalSection cs(this);
    56         GlobalCounter::CriticalSection cs(this);
    57         volatile TestData* test = OrderAccess::load_acquire(_test);
    57         volatile TestData* test = OrderAccess::load_acquire(_test);
    58         long value = OrderAccess::load_acquire(&test->test_value);
    58         long value = OrderAccess::load_acquire(&test->test_value);
    59         ASSERT_EQ(value, GOOD_VALUE);
    59         ASSERT_EQ(value, GOOD_VALUE);