Fix x86 build where compiler found lock issue

Change-Id: I00eba554539cf9f700c38ccf42eeafd011725a9f
diff --git a/src/thread.cc b/src/thread.cc
index 3bae0af..8974023 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -236,14 +236,16 @@
 
   if (UNLIKELY(pthread_create_result != 0)) {
     // pthread_create(3) failed, so clean up.
-    ScopedObjectAccess soa(env);
-    Object* peer = soa.Decode<Object*>(java_peer);
-    SetVmData(soa, peer, 0);
-    delete native_thread;
+    {
+      ScopedObjectAccess soa(env);
+      Object* peer = soa.Decode<Object*>(java_peer);
+      SetVmData(soa, peer, 0);
 
-    std::string msg(StringPrintf("pthread_create (%s stack) failed: %s",
-                                 PrettySize(stack_size).c_str(), strerror(pthread_create_result)));
-    Thread::Current()->ThrowOutOfMemoryError(msg.c_str());
+      std::string msg(StringPrintf("pthread_create (%s stack) failed: %s",
+                                   PrettySize(stack_size).c_str(), strerror(pthread_create_result)));
+      Thread::Current()->ThrowOutOfMemoryError(msg.c_str());
+    }
+    delete native_thread;
     return;
   }
 }