384
385 // Set _should_block.
386 // Call this from the VM, with Threads_lock held and a safepoint requested.
387 static void set_should_block();
388
389 // Call this from the compiler at convenient points, to poll for _should_block.
390 static void maybe_block();
391
392 enum {
393 // Flags for toggling compiler activity
394 stop_compilation = 0,
395 run_compilation = 1
396 };
397
398 static bool should_compile_new_jobs() { return UseCompiler && (_should_compile_new_jobs == run_compilation); }
399 static bool set_should_compile_new_jobs(jint new_state) {
400 // Return success if the current caller set it
401 jint old = Atomic::cmpxchg(new_state, &_should_compile_new_jobs, 1-new_state);
402 return (old == (1-new_state));
403 }
404 static void handle_full_code_cache();
405
406 // Return total compilation ticks
407 static jlong total_compilation_ticks() {
408 return _perf_total_compilation != NULL ? _perf_total_compilation->get_value() : 0;
409 }
410
411 // Redefine Classes support
412 static void mark_on_stack();
413
414 // Print a detailed accounting of compilation time
415 static void print_times();
416
417 // Debugging output for failure
418 static void print_last_compile();
419
420 static void print_compiler_threads_on(outputStream* st);
421
422 // compiler name for debugging
423 static const char* compiler_name(int comp_level);
424
|
384
385 // Set _should_block.
386 // Call this from the VM, with Threads_lock held and a safepoint requested.
387 static void set_should_block();
388
389 // Call this from the compiler at convenient points, to poll for _should_block.
390 static void maybe_block();
391
392 enum {
393 // Flags for toggling compiler activity
394 stop_compilation = 0,
395 run_compilation = 1
396 };
397
398 static bool should_compile_new_jobs() { return UseCompiler && (_should_compile_new_jobs == run_compilation); }
399 static bool set_should_compile_new_jobs(jint new_state) {
400 // Return success if the current caller set it
401 jint old = Atomic::cmpxchg(new_state, &_should_compile_new_jobs, 1-new_state);
402 return (old == (1-new_state));
403 }
404 static void handle_full_code_cache(int code_blob_type);
405
406 // Return total compilation ticks
407 static jlong total_compilation_ticks() {
408 return _perf_total_compilation != NULL ? _perf_total_compilation->get_value() : 0;
409 }
410
411 // Redefine Classes support
412 static void mark_on_stack();
413
414 // Print a detailed accounting of compilation time
415 static void print_times();
416
417 // Debugging output for failure
418 static void print_last_compile();
419
420 static void print_compiler_threads_on(outputStream* st);
421
422 // compiler name for debugging
423 static const char* compiler_name(int comp_level);
424
|