diff src/share/vm/ci/bcEscapeAnalyzer.cpp @ 17959:42d9a5f06728

8043354: OptimizePtrCompare too aggressive when allocations are present Summary: In bcEscapeAnalyzer update the _allocated_escapes flag if a var escapes the method. Reviewed-by: kvn
author rasbold
date Wed, 21 May 2014 10:54:59 -0700
parents 78bbf4d43a14
children 52b4284cb496 609faa407cfd
line wrap: on
line diff
--- a/src/share/vm/ci/bcEscapeAnalyzer.cpp	Fri May 30 13:30:07 2014 -0700
+++ b/src/share/vm/ci/bcEscapeAnalyzer.cpp	Wed May 21 10:54:59 2014 -0700
@@ -158,6 +158,9 @@
 
 void BCEscapeAnalyzer::set_method_escape(ArgumentMap vars) {
   clear_bits(vars, _arg_local);
+  if (vars.contains_allocated()) {
+    _allocated_escapes = true;
+  }
 }
 
 void BCEscapeAnalyzer::set_global_escape(ArgumentMap vars, bool merge) {