src/share/vm/runtime/interfaceSupport.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/interfaceSupport.cpp	Thu Oct 30 02:59:05 2014
--- new/src/share/vm/runtime/interfaceSupport.cpp	Thu Oct 30 02:59:05 2014

*** 185,221 **** --- 185,221 ---- ++zap_traversals; } # endif + // invocation counter for InterfaceSupport::deoptimizeAll/zombieAll functions int deoptimizeAllCounter = 0; int zombieAllCounter = 0; void InterfaceSupport::zombieAll() { ! if (is_init_completed() && zombieAllCounter > ZombieALotInterval) { ! int value = zombieAllCounter / Threads::number_of_threads(); + if (is_init_completed() && value > ZombieALotInterval) { zombieAllCounter = 0; VM_ZombieAll op; VMThread::execute(&op); } else { zombieAllCounter++; } + zombieAllCounter++; } void InterfaceSupport::unlinkSymbols() { VM_UnlinkSymbols op; VMThread::execute(&op); } void InterfaceSupport::deoptimizeAll() { ! if (is_init_completed() ) { ! if (DeoptimizeALot && deoptimizeAllCounter > DeoptimizeALotInterval) { ! int value = deoptimizeAllCounter / Threads::number_of_threads(); ! if (is_init_completed()) { + if (DeoptimizeALot && value > DeoptimizeALotInterval) { deoptimizeAllCounter = 0; VM_DeoptimizeAll op; VMThread::execute(&op); ! } else if (DeoptimizeRandom && (deoptimizeAllCounter & 0x1f) == (os::random() & 0x1f)) { ! } else if (DeoptimizeRandom && (value & 0x1F) == (os::random() & 0x1F)) { VM_DeoptimizeAll op; VMThread::execute(&op); } } deoptimizeAllCounter++;

src/share/vm/runtime/interfaceSupport.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File