< prev index next >

src/hotspot/share/runtime/interfaceSupport.cpp

Print this page
rev 60137 : 8227745: Enable Escape Analysis for Better Performance in the Presence of JVMTI Agents
Reviewed-by: mdoerr, goetz
rev 60138 : 8227745: delta webrev.5 -> webrev.6

@@ -28,11 +28,10 @@
 #include "logging/log.hpp"
 #include "memory/resourceArea.hpp"
 #include "memory/universe.hpp"
 #include "runtime/atomic.hpp"
 #include "runtime/frame.inline.hpp"
-#include "runtime/deoptimization.hpp"
 #include "runtime/handles.inline.hpp"
 #include "runtime/init.hpp"
 #include "runtime/interfaceSupport.inline.hpp"
 #include "runtime/os.inline.hpp"
 #include "runtime/thread.inline.hpp"

@@ -59,13 +58,10 @@
     InterfaceSupport::deoptimizeAll();
   }
   if (ZombieALot) {
     InterfaceSupport::zombieAll();
   }
-  if (DeoptimizeObjectsALot == 1) {
-    InterfaceSupport::deoptimizeAllObjects();
-  }
   // do verification AFTER potential deoptimization
   if (VerifyStack) {
     InterfaceSupport::verify_stack();
   }
 }

@@ -193,11 +189,10 @@
 }
 
 // invocation counter for InterfaceSupport::deoptimizeAll/zombieAll functions
 int deoptimizeAllCounter = 0;
 int zombieAllCounter = 0;
-int deoptimizeAllObjectsCounter = 0;
 
 void InterfaceSupport::zombieAll() {
   // This method is called by all threads when a thread make
   // transition to VM state (for example, runtime calls).
   // Divide number of calls by number of threads to avoid

@@ -228,27 +223,10 @@
     }
   }
   deoptimizeAllCounter++;
 }
 
-void InterfaceSupport::deoptimizeAllObjects() {
-  // This method is called by all threads when a thread makes
-  // transition to VM state (for example, runtime calls).
-  // Divide number of calls by number of threads to avoid
-  // dependence of DeoptimizeObjectsALot events frequency on number of threads.
-  int value = deoptimizeAllObjectsCounter / Threads::number_of_threads();
-  if (is_init_completed() && value > DeoptimizeObjectsALotInterval) {
-    // Revert optimizations based on escape analysis for all compiled frames of all Java threads as
-    // if objects local to a frame or a thread were escaping.
-    deoptimizeAllObjectsCounter = 0;
-    JavaThread* ct = JavaThread::current();
-    EscapeBarrier eb(ct, true);
-    eb.deoptimize_objects_all_threads();
-  }
-  deoptimizeAllObjectsCounter++;
-}
-
 
 void InterfaceSupport::verify_stack() {
   JavaThread* thread = JavaThread::current();
   ResourceMark rm(thread);
   // disabled because it throws warnings that oop maps should only be accessed
< prev index next >