382 Commits

Author SHA1 Message Date
Jiangli Zhou
9ba5bab865 8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module
Support system module archiving with unnamed initial module at dump time.

Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Reviewed-by: erikj, coleenp, mchung, iklam, ccheung
2018-07-08 12:43:05 -04:00
Stefan Karlsson
11813888b8 8204540: Automatic oop closure devirtualization
Reviewed-by: kbarrett, eosterlund
2018-05-26 06:59:49 +02:00
David Holmes
95bf19563b 8010319: Implementation of JEP 181: Nest-Based Access Control
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Maurizio Mimadamore <maurizio.mimadamore@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Co-authored-by: Vlaidmir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Daniel Smith <daniel.smith@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Kumar Srinivasan <kumardotsrinivasan@gmail.com>
Co-authored-by: Boris Ulasevich <boris.ulasevich@bell-sw.com>
Reviewed-by: alanb, psandoz, mchung, coleenp, acorn, mcimadamore, forax, jlahoda, sspitsyn, abuckley
2018-06-23 01:32:41 -04:00
Lois Foltan
425e1a8bb8 8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name
Introduced ClassLoaderData::name() and ClassLoaderData::name_and_id() for use when obtaining a class loader's name.

Reviewed-by: coleenp, goetz, mchung, stuefe
2018-06-19 07:54:11 -04:00
Thomas Stuefe
5b7f558b70 8203343: VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes
Reviewed-by: coleenp, sspitsyn, dholmes
2018-06-14 21:49:46 +02:00
Kim Barrett
df34500027 8204585: Remove IN_ARCHIVE_ROOT from Access API
Replaced Access API with API on heap.

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: jiangli, coleenp, tschatzl
2018-06-12 18:12:59 -04:00
Per Lidén
e7af7a4aef 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Kim Barrett <kim.barrett@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Coleen Phillimore <coleen.phillimore@oracle.com>
Co-authored-by: Robbin Ehn <robbin.ehn@oracle.com>
Co-authored-by: Gerard Ziemski <gerard.ziemski@oracle.com>
Co-authored-by: Hugh Wilkinson <hugh.wilkinson@intel.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Co-authored-by: Bill Wheeler <bill.npo.wheeler@intel.com>
Co-authored-by: Vinay K. Awasthi <vinay.k.awasthi@intel.com>
Co-authored-by: Yasumasa Suenaga <yasuenag@gmail.com>
Reviewed-by: pliden, stefank, eosterlund, ehelin, sjohanss, rbackman, coleenp, ihse, jgeorge, lmesnik, rkennke
2018-06-12 17:40:28 +02:00
Robbin Ehn
66f8951e15 8195097: Make it possible to process StringTable outside safepoint
Reviewed-by: coleenp, gziemski, iklam, jiangli
2018-06-07 14:11:56 +02:00
Coleen Phillimore
892a2af03f 8204301: Make OrderAccess functions available to hpp rather than inline.hpp files
Move orderAccess.inline.hpp into orderAccess.hpp and remove os.hpp inclusion and conditional os::is_MP() for fence on x86 platforms

Reviewed-by: dholmes, hseigel
2018-06-06 10:45:40 -04:00
Coleen Phillimore
03702fb256 8204195: Clean up macroAssembler.inline.hpp and other inline.hpp files included in .hpp files
Moved macroAssembler.inline.hpp out of header file and distributed to .cpp files that included them: ie. c1_MacroAssembler.hpp and interp_masm.hpp. Also freeList.inline.hpp and allocation.inline.hpp.

Reviewed-by: jiangli, kvn
2018-06-04 10:18:43 -04:00
Thomas Stuefe
60c218229e 8204164: OOM-only logging in Metaspace
Reviewed-by: gziemski, coleenp
2018-06-04 07:12:26 +02:00
Thomas Stuefe
0084eebd36 8203219: VM.metaspace jcmd should optionally show loaded classes for loaders
Reviewed-by: zgu, coleenp
2018-05-30 17:30:06 +02:00
Thomas Stuefe
611c72e5bc 8203455: jcmd: VM.metaspace: print loader name for anonymous CLDs
Reviewed-by: lfoltan, goetz
2018-05-30 08:52:59 +02:00
Thomas Stuefe
113924e979 8203865: Metaspace cleanup: Remove unused MemRegion in VirtualSpaceNode
Reviewed-by: dholmes, zgu
2018-05-29 12:52:08 +02:00
Thomas Schatzl
f236648263 8203262: Incorrect cmpxchg usage in MetaspaceGC::inc_capacity_until_GC
Reviewed-by: pliden, shade
2018-05-28 12:10:18 +02:00
Thomas Schatzl
fd0d572bb5 8202842: G1 footprint regressions in jdk11+10
Lazily initialize G1FromCardCache to save on startup footprint if AlwaysPretouch is disabled.

Reviewed-by: sjohanss, redestad
2018-05-28 11:13:21 +02:00
Ioi Lam
f9742fc0a6 8193332: MetaspaceShared::check_shared_class_loader_type is not used during archive creation
Reviewed-by: lfoltan, jiangli
2018-05-21 21:27:12 -07:00
Jiangli Zhou
422e112ffd 8199807: AppCDS performs overly restrictive path matching check
8203377: Cleanup the usage of os::file_name_strcmp() in SharedPathsMiscInfo::check()

Relax CDS/AppCDS path check for modules image.

Reviewed-by: iklam, ccheung
2018-05-21 15:15:58 -04:00
Thomas Stuefe
8f71718566 8176808: Split up metaspace.cpp
Reviewed-by: asiebenborn, coleenp
2018-05-21 11:33:59 +02:00
Alexander Harlap
c57afa5fbf 8189271: Metaspace::_capacity_until_GC should be size_t
Change of member and some related local variables.

Reviewed-by: tschatzl, stuefe
2018-05-15 19:26:00 -04:00
Erik Gahlin
a060be188d 8199712: Flight Recorder
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, ihse, erikj, dsamersoff, mseledtsov, egahlin, mgronlun
2018-05-15 20:24:34 +02:00
Thomas Schatzl
ec2d9845e0 8201491: G1 support for java.lang.ref.Reference precleaning
Implement single-threaded concurrent reference precleaning for G1.

Reviewed-by: sangheki, kbarrett
2018-05-14 11:47:03 +02:00
Thomas Stuefe
85544dd1e4 8202634: Metaspace: simplify SpaceManager lists
Reviewed-by: zgu, coleenp
2018-05-09 06:51:41 +02:00
Stefan Karlsson
90a2a92fe3 8202709: Move oopDesc::is_archive_object to MetaspaceShared::is_archive_object
Reviewed-by: ehelin, jiangli
2018-05-07 14:57:23 +02:00
Ioi Lam
e48f38966b 8197954: Remove unnecessary intermediary APIs from AppCDS implementation
Reviewed-by: jiangli, ccheung
2018-04-26 13:40:58 -07:00
Thomas Stuefe
1ea9f48936 8185034: Cleanup and consolidate Metaspace coding
Reviewed-by: coleenp, zgu
2018-05-07 20:42:36 +02:00
Aleksey Shipilev
aef2df31e6 8202684: Minimal VM build is broken after JDK-8199067, JDK-8202638
Reviewed-by: eosterlund, stuefe
2018-05-05 18:55:31 +02:00
Kim Barrett
a313d5961a 8202672: Build failed in metaspace.cpp with VS2017
Add whitespace between string and identifier.

Reviewed-by: dcubed, erikj
2018-05-05 12:38:15 -04:00
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +02:00
Thomas Stuefe
d9b3c3203e 8201572: Improve Metaspace Statistics
Reviewed-by: adinn, zgu
2018-04-24 18:06:32 +02:00
Thomas Stuefe
6a12519d84 8202424: Metaspace: on chunk retirement, use correct lower limit on chunksize when adding blocks to free blocks list
Reviewed-by: zgu, coleenp
2018-04-30 15:55:21 +02:00
Calvin Cheung
aedb6040c6 8200466: Revisit the setting of _transitive_interfaces in InstanceKlass
Delay the setting of _transitive_interfaces until after initialize_supers() in fill_instance_klass().

Reviewed-by: iklam, coleenp
2018-05-02 09:26:10 -07:00
Jiangli Zhou
20edc74068 8193213: Make the UseAppCDS option obsolete
8182731: Odd handling of -XX:-UseAppCDS and -XX:SharedArchiveFile

Application class data sharing is enabled without -XX:+UseAppCDS. SharedArchiveFile is now a product flag.

Reviewed-by: dholmes, ihse, erikj, ccheung
2018-04-30 16:59:05 -04:00
Gerard Ziemski
edc81d17e1 8202150: [REDO] Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-26 11:19:05 -05:00
Jini George
ccc74fdd60 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
Read in the md region of the CDS archive in SA and map the vtable addresses to the corresponding metadata type.

Reviewed-by: iklam, coleenp, ysuenaga, dholmes
2018-04-26 12:25:36 +05:30
Thomas Stuefe
2ee8ddfb0d 8202074: Metaspace: If humongous chunk is added to SpaceManager, previous current chunk may not get retired correctly
Reviewed-by: coleenp, asiebenborn, goetz
2018-04-20 09:44:24 +02:00
Gerard Ziemski
816e2e5fe0 8202151: [BACKOUT] Split globals.hpp to factor out the Flag class
Backed out JDK-8081519

Reviewed-by: kvn
2018-04-23 14:51:16 -05:00
Gerard Ziemski
60723b7e3d 8081519: Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-23 10:59:39 -05:00
Thomas Stuefe
2329ce7e2d 8202073: MetaspaceAllocationTest gtest shall lock during space creation
Reviewed-by: coleenp
2018-04-23 16:25:16 +02:00
Vladimir Kozlov
4a2ed13802 8201850: [AOT] vm crash when run test compiler/aot/fingerprint/SelfChangedCDS.java
Set AOT specific compressed oop shift value before CDS archive load

Reviewed-by: iklam, jiangli
2018-04-20 14:30:57 -07:00
Per Lidén
a4f21eeb03 8201646: Introduce ReferenceDiscoverer interface
Reviewed-by: stefank, tschatzl, rkennke
2018-04-19 07:54:50 +02:00
Coleen Phillimore
ddfd4c33c6 8201556: Disallow reading oops in ClassLoaderData if unloading
Move class_loader oop to an OopHandle, and assert that holder is alive when getting class_loader.

Reviewed-by: kbarrett, adinn
2018-04-18 18:43:04 -04:00
Calvin Cheung
894e8c6479 8197972: Always verify non-system classes during CDS dump time
Use -Verify:remote even if the user specifies -Xverify:none during CDS dump time

Reviewed-by: iklam, mseledtsov, jiangli
2018-04-17 16:19:48 -07:00
Calvin Cheung
4ef7c919a2 8194812: Extend class-data sharing to support the module path
8199360: Rework the support for the 'ignored' module options in CDS

Reviewed-by: jiangli, lfoltan, iklam, mseledtsov
2018-04-10 11:43:40 -07:00
Coleen Phillimore
d187884156 8198313: Wrap holder object for ClassLoaderData in a WeakHandle
Use WeakHandle for ClassLoaderData::_holder so that is_alive closure is not needed

Reviewed-by: rehn, kbarrett
2018-04-10 10:06:42 -04:00
Stefan Karlsson
367f9ea984 8201244: Clean out unnecessary includes of heap headers
Reviewed-by: coleenp, shade
2018-04-10 12:21:05 +02:00
Stefan Karlsson
f05f8de48f 8200735: Move CMS specific code from binaryTreeDictionary and freeList to CMS files
Reviewed-by: shade, adinn
2018-04-06 11:37:26 +02:00
Roman Kennke
b938ae51ce 8199781: Don't use naked == for comparing oops
Reviewed-by: coleenp, eosterlund, jrose
2018-04-03 13:15:27 +02:00
Calvin Cheung
213862d866 8200078: [Graal] runtime/appcds/GraalWithLimitedMetaspace.java crashes in visit_all_interfaces
Stop CDS dumping right away when an OOM due to insufficient metaspace is encountered

Reviewed-by: iklam, mseledtsov
2018-03-29 21:48:38 -07:00
Per Lidén
24273f04a4 8199925: Break out GC selection logic from GCArguments to GCConfig
Reviewed-by: eosterlund, rkennke
2018-03-28 11:38:47 +02:00