diff src/share/vm/jvmci/jvmciCompiler.cpp @ 23303:633cf7bea01d

thread waiting for blocking JVMCI compilation should not wait on compiler queue forever (JDK-8148507) [part 2]
author Doug Simon <doug.simon@oracle.com>
date Thu, 04 Feb 2016 19:18:52 +0100
parents f41d4011035d
children bc5552dc384b
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciCompiler.cpp	Thu Feb 04 15:21:43 2016 +0100
+++ b/src/share/vm/jvmci/jvmciCompiler.cpp	Thu Feb 04 19:18:52 2016 +0100
@@ -37,7 +37,7 @@
 JVMCICompiler::JVMCICompiler() : AbstractCompiler(jvmci) {
 #ifdef COMPILERJVMCI
   _bootstrapping = false;
-  _methodsCompiled = 0;
+  _methods_compiled = 0;
 #endif
   assert(_instance == NULL, "only one instance allowed");
   _instance = this;
@@ -103,7 +103,7 @@
     } while (first_round && qsize == 0);
     first_round = false;
     if (PrintBootstrap) {
-      while (z < (_methodsCompiled / 100)) {
+      while (z < (_methods_compiled / 100)) {
         ++z;
         tty->print_raw(".");
       }
@@ -111,7 +111,7 @@
   } while (qsize != 0);
 
   if (PrintBootstrap) {
-    tty->print_cr(" in " JLONG_FORMAT " ms (compiled %d methods)", os::javaTimeMillis() - start, _methodsCompiled);
+    tty->print_cr(" in " JLONG_FORMAT " ms (compiled %d methods)", os::javaTimeMillis() - start, _methods_compiled);
   }
   _bootstrapping = false;
 }
@@ -172,7 +172,7 @@
           env->set_failure("no nmethod produced", true);
         } else {
           env->task()->set_num_inlined_bytecodes(CompilationRequestResult::inlinedBytecodes(result_object));
-          _methodsCompiled++;
+          Atomic::inc(&_methods_compiled);
         }
       }
     } else {