78 int qsize;
79 bool first_round = true;
80 int z = 0;
81 do {
82 // Loop until there is something in the queue.
83 do {
84 ((JavaThread*)THREAD)->sleep(100);
85 qsize = CompileBroker::queue_size(CompLevel_full_optimization);
86 } while (!_bootstrap_compilation_request_handled && first_round && qsize == 0);
87 first_round = false;
88 if (PrintBootstrap) {
89 while (z < (_methods_compiled / 100)) {
90 ++z;
91 tty->print_raw(".");
92 }
93 }
94 } while (qsize != 0);
95
96 if (PrintBootstrap) {
97 tty->print_cr(" in " JLONG_FORMAT " ms (compiled %d methods)",
98 nanos_to_millis(os::javaTimeNanos() - start), _methods_compiled);
99 }
100 _bootstrapping = false;
101 JVMCI::compiler_runtime()->bootstrap_finished(CHECK);
102 }
103
104 bool JVMCICompiler::force_comp_at_level_simple(const methodHandle& method) {
105 if (UseJVMCINativeLibrary) {
106 // This mechanism exists to force compilation of a JVMCI compiler by C1
107 // to reduces the compilation time spent on the JVMCI compiler itself. In
108 // +UseJVMCINativeLibrary mode, the JVMCI compiler is AOT compiled.
109 return false;
110 }
111
112 if (_bootstrapping) {
113 // When bootstrapping, the JVMCI compiler can compile its own methods.
114 return false;
115 }
116
117 JVMCIRuntime* runtime = JVMCI::compiler_runtime();
118 if (runtime != NULL && runtime->is_HotSpotJVMCIRuntime_initialized()) {
|
78 int qsize;
79 bool first_round = true;
80 int z = 0;
81 do {
82 // Loop until there is something in the queue.
83 do {
84 ((JavaThread*)THREAD)->sleep(100);
85 qsize = CompileBroker::queue_size(CompLevel_full_optimization);
86 } while (!_bootstrap_compilation_request_handled && first_round && qsize == 0);
87 first_round = false;
88 if (PrintBootstrap) {
89 while (z < (_methods_compiled / 100)) {
90 ++z;
91 tty->print_raw(".");
92 }
93 }
94 } while (qsize != 0);
95
96 if (PrintBootstrap) {
97 tty->print_cr(" in " JLONG_FORMAT " ms (compiled %d methods)",
98 (jlong)nanos_to_millis(os::javaTimeNanos() - start), _methods_compiled);
99 }
100 _bootstrapping = false;
101 JVMCI::compiler_runtime()->bootstrap_finished(CHECK);
102 }
103
104 bool JVMCICompiler::force_comp_at_level_simple(const methodHandle& method) {
105 if (UseJVMCINativeLibrary) {
106 // This mechanism exists to force compilation of a JVMCI compiler by C1
107 // to reduces the compilation time spent on the JVMCI compiler itself. In
108 // +UseJVMCINativeLibrary mode, the JVMCI compiler is AOT compiled.
109 return false;
110 }
111
112 if (_bootstrapping) {
113 // When bootstrapping, the JVMCI compiler can compile its own methods.
114 return false;
115 }
116
117 JVMCIRuntime* runtime = JVMCI::compiler_runtime();
118 if (runtime != NULL && runtime->is_HotSpotJVMCIRuntime_initialized()) {
|