8066199: C2 escape analysis prevents VM from exiting quickly
Summary: Check for safepoint and block during EA Connection graph construction.
Reviewed-by: roland, vlivanov, shade
--- a/hotspot/src/share/vm/opto/escape.cpp Tue Dec 02 12:37:01 2014 +0300
+++ b/hotspot/src/share/vm/opto/escape.cpp Tue Dec 02 12:24:31 2014 -0800
@@ -1115,6 +1115,9 @@
// Each 4 iterations calculate how much time it will take
// to complete graph construction.
time.stop();
+ // Poll for requests from shutdown mechanism to quiesce compiler
+ // because Connection graph construction may take long time.
+ CompileBroker::maybe_block();
double stop_time = time.seconds();
double time_per_iter = (stop_time - start_time) / (double)SAMPLE_SIZE;
double time_until_end = time_per_iter * (double)(java_objects_length - next);