179 Commits

Author SHA1 Message Date
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
Kim Barrett
37125920a7 8138659: Speed up InstanceKlass subclass discrimination
Add _misc_kind field and flags, move around predicates.

Reviewed-by: coleenp, stefank
2015-10-09 14:08:15 -04:00
Stefan Johansson
dada9bc32c 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
2015-09-02 09:14:04 +02:00
Karen Kinnear
7983a4235c 8087342: Crash in klassItable::initialize_itable_for_interface
Fix method searches to handle static, private instance and overpass

Reviewed-by: lfoltan, dholmes, hseigel
2015-08-06 13:02:15 -04:00
Vladimir Ivanov
aae5102c06 8081320: Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, coleenp
2015-05-29 17:04:21 +03:00
Tobias Hartmann
59f2a0f85f Merge 2015-05-29 12:49:31 +02:00
Stefan Johansson
b04d2bca57 8080746: Refactor oop iteration macros to be more general
Reviewed-by: stefank, pliden
2015-05-25 11:39:43 +02:00
Tobias Hartmann
068d5d78b1 Merge 2015-05-22 09:50:32 +02:00
Vladimir Ivanov
3f096651f3 8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, stefank, twisti
2015-05-21 18:22:33 +03:00
Vladimir Ivanov
e5a92a9fb9 8079205: CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
Reviewed-by: roland, psandoz, plevart, kbarrett, jrose
2015-05-15 19:23:11 +03:00
Vladimir Kozlov
b9c00b1904 Merge 2015-04-16 14:05:48 -07:00
Vladimir Ivanov
ce40bf07b2 8057919: Class.getSimpleName() should work for non-JLS compliant class names
Reviewed-by: dholmes, jrose
2015-04-14 18:03:43 +03:00