56 Commits

Author SHA1 Message Date
Calvin Cheung
cf223c0791 8186842: Use Java class loaders for creating the CDS archive
Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Reviewed-by: coleenp, jiangli, iklam, mseledtsov
2017-08-28 15:34:04 -07:00
Coleen Phillimore
de3cc93ca6 8164207: Checking missing load-acquire in relation to _pd_set in dictionary.cpp
Use load_acquire for accessing DictionaryEntry::_pd_set since it's accessed outside the SystemDictionary_lock

Reviewed-by: zgu, twisti, dholmes, adinn
2017-08-30 19:18:22 -04:00
Ioi Lam
f7f193ae71 8072061: Automatically determine optimal sizes for the CDS regions
See new C++ class MetaspaceClosure.

Reviewed-by: coleenp, jiangli, mseledtsov
2017-08-02 18:06:38 -07:00
Coleen Phillimore
17f23d1881 8184994: Add Dictionary size logging and jcmd
Added dcmd for printing system dictionary like the stringtable and symboltable and making print functions go to outputstream rather than tty

Reviewed-by: shade, hseigel
2017-08-02 10:52:50 -04:00
Coleen Phillimore
a1f70549e4 7133093: Improve system dictionary performance
Implement one dictionary per ClassLoaderData for faster lookup and removal during class unloading

Reviewed-by: iklam, acorn, jiangli
2017-07-28 10:48:35 -04:00
Thomas Stuefe
d12604111c 8181917: Refactor UL LogStreams to avoid using resource area
Reviewed-by: ehelin, mlarsson
2017-07-21 09:50:12 +02:00
Coleen Phillimore
f820e2f2ee 8166848: Performance bug: SystemDictionary - optimization
Check instead that a bucket isn't 10x the average

Reviewed-by: iklam, gziemski, sspitsyn
2017-05-18 08:17:52 -04:00
Coleen Phillimore
3784f04568 8178336: Unnecessary SystemDictionary walk for Protection domain liveness
Remove system dictionary walk and pass strong closure for !ClassUnloading

Reviewed-by: jiangli, iklam
2017-04-13 09:42:10 -04:00
Coleen Phillimore
c52443f75b 8026985: Rewrite SystemDictionary::classes_do and Dictionary::classes_do to use KlassClosure
Actually remove unused functions like classes_do and methods_do.

Reviewed-by: iveresov, sspitsyn, dholmes
2017-04-12 08:02:29 -04:00
Coleen Phillimore
4b9562288f 8155672: Remove instanceKlassHandles and KlassHandles
Use unhandled pointers for Klass and InstanceKlass, remove handles with no implementation.

Reviewed-by: dholmes, lfoltan, vlivanov, sspitsyn
2017-03-15 10:25:37 -04:00
Coleen Phillimore
fcc9699132 8175104: Unhandled oop in ProtectionDomainCacheTable::compute_hash
Pass Handle for protection_domain as it is mostly a Handle up the call stack

Reviewed-by: hseigel, jiangli, dcubed
2017-02-17 14:47:46 -05:00
Coleen Phillimore
0b3bc5c4f0 8169881: Remove implicit Handle conversions oop->Handle
Pass THREAD to Handle as argument instead of implicit Thread::current() call.

Reviewed-by: dholmes, sspitsyn
2017-02-15 22:59:57 -05:00
Gerard Ziemski
e555a3e342 8166145: runtime/threads/ThreadInterruptTest3 fails with ExitCode 0
Added new hashtables logging tag and used it print out the table performance details.

Reviewed-by: coleenp, dholmes
2016-10-27 09:42:45 -05:00
Gerard Ziemski
f6975a2f65 8138760: [JVMCI] VM warning: Performance bug: SystemDictionary lookup_count=21831450 lookup_length=1275207287 average=58.411479 load=5.572844
Added debug details to the warning message.

Reviewed-by: dholmes, iklam, twisti
2016-07-19 11:00:45 -05:00
Robbin Ehn
2523b1942a 8153535: Convert TraceRedefineClasses to Unified Logging
Reviewed-by: rprotacio, coleenp
2016-05-09 22:22:15 +02:00
Joseph Provino
5cef85023b 8132524: Missing includes to resourceArea.hpp
Files that use ResourceMark are missing the include of resourceArea.hpp

Reviewed-by: tschatzl, jwilhelm
2016-04-04 12:57:48 -04:00
Stefan Karlsson
15c4140ae5 8152632: Rename LogHandle(...) to Log(...)
Reviewed-by: brutisso, mlarsson, rprotacio
2016-04-04 09:15:15 +02:00
Max Ockner
5a873632f3 8149064: TraceProtectionDomainVerification has been converted to Unified Logging
TraceProtectionDomainVerification has been converted to Unified Logging with tag protectiondomain.

Reviewed-by: coleenp, iklam
2016-02-29 16:58:09 -05:00
Goetz Lindenmaier
b26df6b69f 8146401: Clean up oop.hpp: add inline directives and fix header files
Reviewed-by: coleenp
2016-01-04 15:41:05 +01:00
Ioi Lam
87b0df30ed 8140802: Clean up and refactor of class loading code for CDS
Reviewed-by: jiangli, acorn, coleenp
2015-08-18 11:27:23 -07:00
Coleen Phillimore
fc03719078 8139203: Consistent naming for klass type predicates
8138923: Remove oop coupling with InstanceKlass subclasses

Renamed oop_is_instance and friends, removed the functions in oop that dug down into InstanceKlass.

Reviewed-by: jrose, lfoltan, stefank
2015-10-28 09:47:23 -04:00
Coleen Phillimore
5179fc3488 8139163: InstanceKlass::cast passes through NULL
Reduce raw (InstanceKlass*) casts and InstanceKlass::cast, which no long allows null

Reviewed-by: twisti, kbarrett
2015-10-26 13:11:36 -04: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
Bill Pittore
304b59b0c8 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Need to add a space between macro identifier and string literal

Reviewed-by: stefank, dholmes, kbarrett
2015-06-24 12:12:25 -04:00
Jiangli Zhou
4f4c4bbd5c 8064375: Change certain errors to warnings in CDS output
Change CDS non-fatal preloading errors to warnings.

Reviewed-by: minqi, mseledtsov, coleenp
2014-11-10 19:28:51 -05:00
Rickard Bäckman
a5b650be48 Merge 2014-08-21 20:24:41 +02:00
Tobias Hartmann
d50dfdb399 8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes
Because anonymous classes are not in the system dictionary, we have to set 'unloading_occurred' based on 'CLDG::do_unloading()'. Added jtreg test.

Reviewed-by: kvn, coleenp
2014-08-14 09:15:39 +02:00
Ioi Lam
bbe6f51f81 8046070: Class Data Sharing clean up and refactoring
Cleaned up CDS to be more configurable, maintainable and extensible

Reviewed-by: dholmes, coleenp, acorn, mchung
2014-08-12 17:29:00 -07:00
Stefan Karlsson
1b001a2afd 8049421: G1 Class Unloading after completing a concurrent mark cycle
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
2014-07-07 10:12:40 +02:00
Stefan Karlsson
ef1e9b3c80 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
2014-07-07 12:37:11 +02:00
Stefan Karlsson
8c3aced316 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
2014-07-07 10:12:40 +02: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
Coleen Phillimore
4ab0b2732c 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.

Reviewed-by: dcubed, acorn
2014-02-15 13:03:38 -05:00
John Coomes
e61cbf8d69 Merge 2013-10-11 08:27:21 -07:00
Thomas Schatzl
30ed89669a 8003420: NPG: make new GC root for pd_set
Move protection domain oops from system dictionary entries into a seperate set; the system dictionary references entries in that set now. This allows fast iteration during non-classunloading garbage collection. Implementation based on initial prototype from Ioi Lam (iklam).

Reviewed-by: coleenp, iklam
2013-10-09 10:57:01 +02:00
Coleen Phillimore
39a1c1d6c2 8016325: JVM hangs verifying system dictionary
Minimize redundant verifications of Klasses.

Reviewed-by: hseigel, jmasa
2013-06-24 18:55:46 -04:00
Coleen Phillimore
7a409b13e0 8005056: NPG: Crash after redefining java.lang.Object
Need to walk array class vtables replacing old methods too if j.l.o redefined

Reviewed-by: sspitsyn, dcubed, ctornqvi
2013-05-13 15:37:08 -04:00
Coleen Phillimore
cd7d504d54 8011803: release_C_heap_structures is never called for anonymous classes
Call this function from the ClassLoaderData destructor instead of the system dictionary walk.

Reviewed-by: stefank, mgerdin
2013-04-24 16:19:35 -04:00
Stefan Karlsson
9ed09d08f5 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive
SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders.

Co-authored-by: Erik Helin <erik.helin@oracle.com>
Reviewed-by: coleenp, acorn
2013-02-21 17:22:15 +01:00
Coleen Phillimore
7aa43fc5d8 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.

Reviewed-by: twisti, jrose, stefank
2012-11-29 16:50:29 -05:00
Harold Seigel
4aad9b74e7 8001471: Klass::cast() does nothing
Remove function Klass::cast() and calls to it.

Reviewed-by: dholmes, coleenp
2012-11-12 16:15:05 -05: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
Karen Kinnear
ce074f86c3 7114376: Make system dictionary hashtable bucket array size configurable
7u4 new experimental flag -XX:PredictedClassLoadedCount=#

Reviewed-by: dholmes, phh, dcubed
2012-01-30 23:27:30 -05: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
Coleen Phillimore
7b4f8073f0 6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them

Reviewed-by: never, acorn, jmasa, stefank
2011-01-27 16:11:27 -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
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
John R Rose
71599d89d4 Merge 2010-05-11 15:19:19 -07:00