190 Commits

Author SHA1 Message Date
Harold Seigel
9148262d0e 8077203: Avoid unnecessary stripping of package names from FQN's in is_same_class_package() methods
Extract package name from instance klass's package entry record

Reviewed-by: redestad, coleenp, lfoltan
2017-07-20 11:01:20 -04:00
Stefan Karlsson
a18f1c2d58 8183552: Move align functions to align.hpp
Reviewed-by: stuefe, pliden
2017-07-05 11:33:17 +02:00
Stefan Karlsson
dbd3b5a79e 8178499: Remove _ptr_ and _size_ infixes from align functions
Reviewed-by: rehn, tschatzl
2017-07-04 15:58:10 +02:00
Stefan Karlsson
0fcf645cff 8178489: Make align functions more type safe and consistent
Reviewed-by: mgerdin, rehn
2017-04-12 17:53:18 +02:00
Coleen Phillimore
6659245612 8174749: Use hash table/oops for MemberName table
Add a Java type called ResolvedMethodName which is immutable and can be stored in a hashtable, that is weakly collected by gc

Reviewed-by: sspitsyn, stefank, jrose
2017-05-27 09:21:01 -04:00
Thomas Schatzl
4c944bd1ca 8180755: Remove use of bitMap.inline.hpp include from instanceKlass.hpp and c1_ValueSet.hpp
Reviewed-by: ehelin, coleenp, dholmes
2017-05-26 13:46:49 +02:00
Rachel Protacio
eb6d311b66 8154791: Xlog classload too redundant msgs info/debug
Removed redundant information from class+load UL messages, ensured side-by-side printing of different levels for same class, cleaned up code

Reviewed-by: iklam, dholmes
2017-05-08 09:45:24 -04:00
Stefan Johansson
e237e703df 8138737: Remove oop_ms_adjust_pointers and use oop_iterate instead
Reviewed-by: kbarrett, stefank
2017-04-26 10:26:39 +02:00
Ioi Lam
9d5b85daf4 8178350: klassVtable and klassItable should be ValueObj
Reviewed-by: coleenp
2017-04-13 01:56:01 -07:00
Harold Seigel
3af1da4533 8176705: Remove static functions in InstanceKlass
Change static functions to instance functions and remove their 'this_k' parameters.

Reviewed-by: dholmes, mgerdin, iklam
2017-03-21 11:25:18 -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
Kevin Walls
e477609f73 8162795: [REDO] MemberNameTable doesn't purge stale entries
Re-application of the change in JDK-8152271.

Reviewed-by: coleenp, sspitsyn
2017-02-21 02:27:01 -08:00
Bharadwaj Yadavalli
2841c5eb2b 8171008: Integrate AOT compiler into JDK
Co-authored-by: Christian Thalinger <cthalinger@twitter.com>
Co-authored-by: Dean Long <dean.long@oracle.com>
Co-authored-by: Dmitrij Pochepko <dmitrij.pochepko@oracle.com>
Co-authored-by: Dmitry Chuyko <dmitry.chuyko@oracle.com>
Co-authored-by: Doug Simon <doug.simon@oracle.com>
Co-authored-by: Eric Caspole <eric.caspole@oracle.com>
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Co-authored-by: Igor Veresov <igor.veresov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Morris Meyer <morris.meyer@oracle.com>
Co-authored-by: Niclas Adlertz <niclas.adlertz@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Reviewed-by: erikj, mchung, psandoz, coleenp, iklam, stefank, simonis
2016-12-11 19:07:04 -08:00
David Holmes
d1856645bc 8081800: AbstractMethodError when evaluating a private method in an interface via debugger
Reviewed-by: acorn, dcubed, coleenp
2016-10-03 21:48:21 -04:00
Jiangli Zhou
eb52950704 8078644: CDS needs to support JVMTI CFLH
Support posting CLFH for shared classes. Tests are contributed by Misha Seledtsov.

Reviewed-by: iklam, coleenp, acorn, dcubed, sspitsyn
2016-09-18 21:10:48 -04:00
Coleen Phillimore
3c2621dbdd 8165246: [REDO] InstanceKlass::_previous_version_count goes negative
Make _has_previous_version a boolean that is set to true when previous version of a class is added or during class unloading call to purge_previous_versions

Reviewed-by: gtriantafill, dcubed, sspitsyn
2016-09-07 15:25:21 -04:00
Harold Seigel
e8e6415b7a 8058575: IllegalAccessError trying to access package-private class from VM anonymous class
Put anonymous classes in unnamed package into host class's package.  Throw exception if host class's package differs from anonymous class.

Reviewed-by: coleenp, acorn
2016-09-07 07:19:48 -04:00
Coleen Phillimore
f03ab592cc 8165268: [BACKOUT] InstanceKlass::_previous_version_count goes negative
Reviewed-by: dcubed
2016-09-01 18:02:13 -04:00
Coleen Phillimore
31d8fcc4f9 8164692: InstanceKlass::_previous_version_count goes negative
Decrement previous_version_count when it's removed from the list.

Reviewed-by: dcubed, dlong, sspitsyn
2016-08-31 06:35:19 -04:00
David Holmes
6db26ca5bf 8158854: Ensure release_store is paired with load_acquire in lock-free code
Reviewed-by: shade, dcubed, zgu
2016-08-29 20:13:45 -04:00
Coleen Phillimore
8f37b6e451 8161445: [BACKOUT] MemberNameTable doesn't purge stale entries
Original change caused performance regression in microbenchmarks after GC

Reviewed-by: dholmes, ecaspole
2016-08-01 16:28:23 -04:00
Karen Kinnear
9c928767ba 8162340: Better class stream parsing
Check platform and boot loader for java/* packages

Reviewed-by: lfoltan, coleenp, dholmes
2016-07-27 08:31:48 -04:00
Calvin Cheung
0bcdf4f154 8161539: 8159666 breaks minimal VM
Replaces the shouldNotReachHere() with an assert

Reviewed-by: coleenp, dholmes, cjplummer, gziemski
2016-07-21 19:29:33 -07:00
Coleen Phillimore
eba25b33b9 8152271: MemberNameTable doesn't purge stale entries
Intern MemberNames in table instead of allocating new entries

Reviewed-by: vlivanov, sspitsyn, dholmes
2016-06-15 09:48:24 -04:00
Rachel Protacio
e956abefe6 8153858: Clean up needed when obtaining the package name from a fully qualified class name
Consolidated and refactored code parsing fully qualified names. Includes gtest.

Reviewed-by: dholmes, coleenp
2016-06-07 11:39:47 -04:00
Coleen Phillimore
178842d251 8155951: VM crash in nsk/jvmti/RedefineClasses/StressRedefine: assert failed: Corrupted constant pool
8151066: assert(0 <= i && i < length()) failed: index out of bounds

Lock classes for redefinition because constant pool merging isn't thread safe, use method constant pool because constant pool merging doesn't make equivalent cpCaches because of invokedynamic

Reviewed-by: sspitsyn, dholmes
2016-05-17 08:51:05 -04:00
Jiangli Zhou
34fe707dad 8155678: ClassLoader::initialize_module_loader_map should only be called when dumping CDS archive
Make ClassLoader::initialize_module_loader_map explicitly CDS dump time only.

Reviewed-by: ccheung, lfoltan
2016-05-04 17:32:08 -04:00
Rachel Protacio
09add35155 8152844: JVM InstanceKlass Methods For Obtaining Package/Module Should Be Moved to Klass
Converted package() and module() functions to pure virtual functions of Klass

Reviewed-by: dholmes, coleenp, lfoltan, hseigel
2016-04-26 09:08:12 -04:00
Chris Plummer
7cd3700010 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
Removed "previous version", "cached class file",  and breakpoint related fields and code when JVMTI is not supported

Reviewed-by: coleenp, sspitsyn
2016-04-21 20:49:11 -07:00
Zoltan Majo
3edb7b95ba Merge 2016-03-23 15:01:42 +01:00
Alan Bateman
f30fc1c88b 8142968: Module System implementation
Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282

Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Christian Tornqvist <christian.tornqvist@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: George Triantafillou <george.triantafillou@oracle.com>
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Co-authored-by: James Laskey <james.laskey@oracle.com>
Co-authored-by: Jean-Francois Denise <jean-francois.denise@oracle.com>
Co-authored-by: Jiangli Zhou <jiangli.zhou@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Staffan Larsen <staffan.larsen@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: acorn, ccheung, coleenp, ctornqvi, dholmes, dsimms, gtriantafill, iklam, jiangli, mgronlun, mseledtsov, cjplummer, sspitsyn, stefank, twisti, hseigel, lfoltan, alanb, mchung, dfazunen
2016-03-17 19:04:01 +00: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
Jesper Wilhelmsson
f6609ea3d2 Merge 2016-03-05 10:10:23 +01:00
Markus Grönlund
0e44e963d2 8143226: Minor updates to Event Based tracing
Reviewed-by: jbachorik, egahlin
2016-03-01 23:46:09 +01:00
Vladimir Ivanov
4532f54300 7177745: JSR292: Many Callsite relinkages cause target method to always run in interpreter mode
Reviewed-by: jrose, kvn
2016-02-19 20:40:20 +03:00
Max Ockner
9cab990401 8079408: Reimplement TraceClassLoading, TraceClassUnloading, and TraceClassLoaderData with Unified Logging
TraceClassLoading,  TraceClassUnloading, and TraceClassLoaderData have been reimplemented using Unified logging.

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Reviewed-by: iklam, coleenp, dholmes, jiangli, hseigel, rprotacio
2016-02-03 11:40:30 -05:00
Mikael Gerdin
3cda485fe5 8148481: Devirtualize Klass::vtable
Move remainder of vtable related methods to Klass

Reviewed-by: cjplummer, coleenp
2016-01-19 12:07:32 +01:00
Mikael Gerdin
211dc93a85 8148047: Move the vtable length field to Klass
Reviewed-by: cjplummer, twisti, coleenp, kbarrett
2015-12-01 10:35:49 +01:00
Coleen Phillimore
97e169ac77 8145628: hotspot metadata classes shouldn't use HeapWordSize or heap related macros like align_object_size
Use align_metadata_size, align_metadata_offset and is_metadata_aligned for metadata rather than align_object_size, etc.  Use wordSize rather than HeapWordSize for metadata.  Use align_ptr_up rather than align_pointer_up (all the related functions are ptr).

Reviewed-by: hseigel, jmasa, cjplummer
2016-01-30 11:02:29 -05:00
Ray Alex
4f42f17d9e 8146987: Improve Parallel GC Full GC by caching results of live_words_in_range()
A large part of time in the parallel scavenge collector is spent finding out the amount of live words within memory ranges to find out where to move an object to. Try to incrementally calculate this value.

Reviewed-by: tschatzl, mgerdin, jmasa
2016-01-28 13:30:12 +01:00
Mikael Gerdin
1163c0a2cb 8147461: Use byte offsets for vtable start and vtable length offsets
Reviewed-by: cjplummer, coleenp, dnsimon
2016-01-27 14:50:56 +01:00
Chris Plummer
a73f6dc940 8143608: Don't 64-bit align start of InstanceKlass vtable, itable, and nonstatic_oopmap on 32-bit systems
Removed alignment of these fields.

Reviewed-by: coleenp, dholmes, mgerdin
2016-01-20 11:58:09 -08:00
Christian Thalinger
9e981ee107 Merge 2015-12-18 12:39:02 -08:00
Christian Thalinger
bf5db72254 8134994: use separate VMStructs databases for SA and JVMCI
Reviewed-by: kbarrett
2015-12-14 17:02:02 -10:00
Markus Grönlund
2ad9d3192f 8140485: Class load and creation cleanup
Reviewed-by: hseigel, coleenp, sspitsyn
2015-12-08 20:04:03 +01:00
Vladimir Ivanov
1cfbe2dec5 8139595: MethodHandles::remove_dependent_nmethod is not MT safe
Reviewed-by: jrose, coleenp
2015-11-18 03:03:43 +03: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
Coleen Phillimore
f1e89ea4cc 8140274: methodHandles and constantPoolHandles should be passed as const references
Modified code to use const reference parameters

Reviewed-by: sspitsyn, twisti
2015-10-23 16:48:38 -04:00
Stefan Karlsson
0c74942fe6 8058563: InstanceKlass::_dependencies list isn't cleared from empty nmethodBucket entries
Reviewed-by: mgerdin, vlivanov
2015-10-13 10:06:46 +02:00