< 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 >