| Index: test/cctest/test-api.cc | 
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc | 
| index fc0281a0bdf6f3375db2d1627d4fb4a661ac548a..c01ad143005f3e98d39adbc7b2d35f8b73382bb2 100644 | 
| --- a/test/cctest/test-api.cc | 
| +++ b/test/cctest/test-api.cc | 
| @@ -15400,7 +15400,7 @@ TEST(CompileExternalTwoByteSource) { | 
| #ifndef V8_INTERPRETED_REGEXP | 
|  | 
| struct RegExpInterruptionData { | 
| -  int loop_count; | 
| +  v8::base::Atomic32 loop_count; | 
| UC16VectorResource* string_resource; | 
| v8::Persistent<v8::String> string; | 
| } regexp_interruption_data; | 
| @@ -15412,9 +15412,10 @@ class RegExpInterruptionThread : public v8::base::Thread { | 
| : Thread(Options("TimeoutThread")), isolate_(isolate) {} | 
|  | 
| virtual void Run() { | 
| -    for (regexp_interruption_data.loop_count = 0; | 
| -         regexp_interruption_data.loop_count < 7; | 
| -         regexp_interruption_data.loop_count++) { | 
| +    for (v8::base::NoBarrier_Store(®exp_interruption_data.loop_count, 0); | 
| +         v8::base::NoBarrier_Load(®exp_interruption_data.loop_count) < 7; | 
| +         v8::base::NoBarrier_AtomicIncrement( | 
| +             ®exp_interruption_data.loop_count, 1)) { | 
| v8::base::OS::Sleep(50);  // Wait a bit before requesting GC. | 
| reinterpret_cast<i::Isolate*>(isolate_)->stack_guard()->RequestGC(); | 
| } | 
| @@ -15428,7 +15429,9 @@ class RegExpInterruptionThread : public v8::base::Thread { | 
|  | 
|  | 
| void RunBeforeGC(v8::GCType type, v8::GCCallbackFlags flags) { | 
| -  if (regexp_interruption_data.loop_count != 2) return; | 
| +  if (v8::base::NoBarrier_Load(®exp_interruption_data.loop_count) != 2) { | 
| +    return; | 
| +  } | 
| v8::HandleScope scope(CcTest::isolate()); | 
| v8::Local<v8::String> string = v8::Local<v8::String>::New( | 
| CcTest::isolate(), regexp_interruption_data.string); | 
|  |