56 Commits

Author SHA1 Message Date
Tobias Hartmann
b256715d77 Merge 2016-03-30 12:34:08 +02:00
Tobias Hartmann
6a65ad52d6 8152861: VM crash on assert: locked methods shouldn't be flushed
Check if nmethod is locked by JVMTI before flushing.

Reviewed-by: kvn
2016-03-30 08:04:59 +02:00
Tobias Hartmann
ce350e07fa 8136458: Remove "marked for reclamation" nmethod state
Removed "marked for reclamation" nmethod state because only sweeper sets nmethods to zombie.

Reviewed-by: kvn, neliasso
2016-03-24 09:09:52 +01:00
Tobias Hartmann
ba7e4da495 8023191: OSR nmethods should be flushed to free space in CodeCache
Treat OSR nmethods like normal nmethods and flush them if they are cold/unused.

Reviewed-by: kvn
2016-03-18 09:32:29 +01:00
Tobias Hartmann
5d86db4b66 8067378: Add segmented code heaps info into jfr events: vm/code_cache/stats and vm/code_cache/config
Added code heap specific information to code cache JFR events.

Reviewed-by: twisti, mgronlun
2015-11-09 11:35:44 +01:00
David Lindholm
5770f4eb32 8042893: compiler: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
8042894: runtime: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files

Reviewed-by: goetz, brutisso
2015-10-09 09:42:33 +02:00
Tobias Hartmann
7b6480cfa4 8134493: Cleaning inline caches of unloaded nmethods should be done in sweeper
Clean ICs of unloaded nmethods in sweeper to avoid impact on safepoint duration.

Reviewed-by: kvn, mdoerr
2015-08-31 13:49:18 +02:00
Tobias Hartmann
72e8f28d56 8075805: Crash while trying to release CompiledICHolder
Removed nmethod transition to zombie outside of sweeper. Added cleaning of ICs of unloaded nmethods.

Reviewed-by: kvn, iveresov
2015-08-25 07:49:55 +02:00
Stefan Johansson
d9e465adaf 8077279: assert(ic->is_clean()) failed: IC should be clean
Reviewed-by: rbackman, thartmann
2015-06-15 10:24:38 +02:00
Tobias Hartmann
f41f86bff1 8075214: SIGSEGV in nmethod sweeping
Changed implementation of forceNMethodSweep() to request sweep from existing sweeper thread.

Reviewed-by: kvn, mgerdin, dholmes
2015-03-30 07:54:23 +02:00
Tobias Hartmann
37cfc9fb6d 8073257: compiler/codecache/stress/RandomAllocationTest.java + fastdebug + -XX:+LogCompilation, "allocating without ResourceMark"
Added two missing ResourceMarks to 'NMethodSweeper::log_sweep'.

Reviewed-by: kvn, iignatyev
2015-02-23 10:38:26 +01:00
Max Ockner
1d76295d70 8047290: Make Mutex::_no_safepoint_check_flag locks verify that this lock never checks for safepoint
Ensure consistent safepoint checking in Mutex/Monitor locking methods.

Reviewed-by: dholmes, dcubed, coleenp
2014-12-11 21:34:43 -05:00
Igor Ignatyev
3a9c14c70a 8064669: compiler/whitebox/AllocationCodeBlobTest.java crashes / asserts
Reviewed-by: kvn, anoll
2014-12-02 12:36:03 +03:00
Albert Noll
6520320d1a 8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full
Use separate sweeper thread; enables more aggressive sweeping.

Reviewed-by: kvn, jrose
2014-10-24 14:25:46 +02:00
Tobias Hartmann
3ed02be10e 8059735: make_not_entrant_or_zombie sees zombies
Make sure nmethod is not set to zombie state twice by sweeper and safepoint code.

Reviewed-by: kvn, anoll, mgerdin
2014-10-08 09:23:18 +02:00
Tobias Hartmann
d63b9025d8 8058737: CodeCache::find_blob fails with 'unsafe access to zombie method'
Remove active ICStubs from zombie nmethods

Reviewed-by: kvn, iveresov
2014-09-29 08:40:51 +02:00
Igor Veresov
ad7e67c98f 8058564: Tiered compilation performance drop in PIT
Ensure MethodCounters are created before method is enqueued for compilation

Reviewed-by: kvn, drchase, jiangli
2014-09-17 21:15:03 -07:00
Tobias Hartmann
cd01de591a 8015774: Add support for multiple code heaps
Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types.

Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla
2014-09-17 08:00:07 +02:00
Zoltan Majo
35bca0df61 8053886: assert(false) failed: Should not allocate with exception pending
Failure caused by allocating method counters. Changed the way counters are allocated (use get_method_counters() instead of build_method_counters())

Reviewed-by: kvn, thartmann, anoll
2014-09-05 16:07:22 +02:00
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Igor Veresov
d7b76028a4 8043063: Code aging should allocate MethodCounters when flushing a method
Make sure that MethodCounters are present when the method is flushed for the first time to switch on code aging

Reviewed-by: kvn
2014-05-14 14:28:09 -07:00
Igor Veresov
54db2c2d61 8032463: VirtualDispatch test timeout with DeoptimizeALot
Introduce code aging for warm method detection

Reviewed-by: kvn, twisti
2014-05-13 11:32:10 -07:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Goetz Lindenmaier
6e6f0720a9 8042195: Introduce umbrella header orderAccess.inline.hpp
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02:00
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08:00
Tobias Hartmann
63f7ba0045 8025277: Add -XX: flag to print code cache sweeper statistics
New diagnostic flag prints statistics about the code cache sweeper

Reviewed-by: kvn
2013-12-19 14:08:02 +01:00
Albert Noll
2656f6d603 8029091: Bug in calculation of code cache sweeping interval
Use signed data type so that no underflow can happen

Reviewed-by: kvn, roland
2013-12-17 08:31:06 +01:00
Goetz Lindenmaier
46c4ef6572 8029396: PPC64 (part 212): Several memory ordering fixes in C-code
Memory ordering fixes in GC and other runtime code showing on PPC64.

Reviewed-by: kvn, coleenp
2013-12-02 10:26:14 +01:00
Markus Grönlund
b1e3461fe5 8028128: Add a type safe alternative for working with counter based data
Reviewed-by: dholmes, egahlin
2013-11-23 12:25:13 +01:00
Albert Noll
901b435bc1 8028306: nsk stress tests, CodeCache fills, then safepoint asserts
Move handle_full_code_cache() out of block that forbids safepoints

Reviewed-by: kvn, iveresov
2013-11-14 19:27:07 +01:00
Albert Noll
18ca4cc301 8027593: performance drop with constrained codecache starting with hs25 b111
Fixed proper sweeping of small code cache sizes

Reviewed-by: kvn, iveresov
2013-11-12 09:32:50 +01:00
Albert Noll
0dee555ead 8020151: PSR:PERF Large performance regressions when code cache is filled
Code cache sweeping based on method hotness; removed speculatively disconnect

Reviewed-by: kvn, iveresov
2013-09-27 10:50:55 +02:00
Albert Noll
73fa617082 8022883: Assertion failed: sweptCount >= flushedCount + markedCount + zombifiedCount
Provide correct number of visited nmethods to Tracing

Reviewed-by: kvn, iveresov
2013-09-18 07:22:20 +02:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Nils Eliasson
dedfcd5aa4 8012547: Code cache flushing can get stuck reclaming of memory
Keep sweeping regardless of if we are flushing

Reviewed-by: kvn, twisti
2013-04-29 13:20:19 +02:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00
Igor Veresov
b972e52710 7145345: Code cache sweeper must cooperate with safepoints
Safepoint in the sweeper loop in necessary

Reviewed-by: kvn, never
2012-02-15 12:32:03 -08:00
Tom Rodriguez
a16e057c0a 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify
Reviewed-by: kvn, iveresov
2011-05-16 22:16:44 -07:00
Igor Veresov
3344bbfb29 7036236: VM crashes assert((!inside_attrs()) || is_error_reported()) failed ..
Eliminate the race condition.

Reviewed-by: kvn
2011-04-14 00:02:21 -07:00
Erik Trimble
c9e484d473 7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
Update the copyright to be 2010 on all changed files in OpenJDK

Reviewed-by: ohair
2011-04-05 14:12:31 -07:00
Vladimir Kozlov
fd6487f201 7025742: Can not use CodeCache::unallocated_capacity() with fragmented CodeCache
Use largest_free_block() instead of unallocated_capacity().

Reviewed-by: iveresov, never, ysr
2011-03-09 09:15:16 -08:00
Stefan Karlsson
8006fe8f75 6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.

Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Igor Veresov
2c66a6c3fd 6953144: Tiered compilation
Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.

Reviewed-by: kvn, never, phh, twisti
2010-09-03 17:51:07 -07:00
Tom Rodriguez
1eabc28737 6968385: malformed xml in sweeper logging
Reviewed-by: kvn
2010-07-12 22:27:18 -07:00
Tom Rodriguez
7533d0caf7 6965184: possible races in make_not_entrant_or_zombie
Reviewed-by: kvn
2010-07-08 14:29:44 -07:00
Tom Rodriguez
338714d4e6 6956958: assert(is_clean() || is_call_to_compiled() || is_call_to_interpreted() || is_optimized() || is_megam
Reviewed-by: kvn
2010-06-18 16:51:54 -07:00
Erik Trimble
ba7c173659 6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright

Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
Eric Caspole
430574f398 6950075: nmethod sweeper should operate concurrently
Reviewed-by: never, kvn
2010-05-17 16:50:07 -07:00
Eric Caspole
a57d68e35b 4360113: Evict nmethods when code cache gets full
Speculatively unload the oldest nmethods when code cache gets full.

Reviewed-by: never, kvn
2010-01-29 09:27:22 -08:00