470 Commits

Author SHA1 Message Date
Martin Doerr
4af2374271 8210754: print_location is not reliable enough (printing register info)
Reviewed-by: stuefe, coleenp
2018-10-04 16:39:07 +02:00
Harold Seigel
221005a3d4 8209138: Symbol constructor uses u1 as the element type of its name argument
Maske u1 the type for Symbol values and add a function to return it as a char.

Reviewed-by: dholmes, coleenp
2018-10-03 09:46:46 -04:00
Jiangli Zhou
061c4d7a81 8210926: vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/TestDescription.java failed with JVMTI_ERROR_INVALID_CLASS in CDS mode
Reset InstanceKlass _init_state to 'allocated' before writing out shared classes at dump time.

Reviewed-by: dholmes, coleenp
2018-10-01 00:52:37 -04:00
Coleen Phillimore
7ef28cb2bc 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
Reviewed-by: iklam, stuefe
2018-09-28 16:07:39 -04:00
Coleen Phillimore
06a1ea846a 8210856: Move InstanceKlass DependencyContext cleaning to SystemDictionary::do_unloading()
Already walk classes in ClassLoaderData::unload so generalize to also clean nmethod dependencies.

Reviewed-by: eosterlund, dlong, vlivanov
2018-09-26 14:01:48 -04:00
Ioi Lam
1619cbd14b 8210864: Reduce the use of metaspaceShared.hpp
Reviewed-by: coleenp, lfoltan
2018-09-18 21:46:17 -07:00
Coleen Phillimore
a3931a76f6 8210861: Move assert to help diagnose rare RedefineStress crash
Assert that Method being marked on stack hasn't been missed by previous metadata walk

Reviewed-by: lfoltan
2018-09-18 16:11:36 -04:00
Thomas Schatzl
7c7a5976d3 8209843: Optimize oop scan closure closures wrt to reference processing in G1
Set more appropriate reference iteration mode for G1 closures.

Reviewed-by: kbarrett, pliden
2018-09-12 11:08:42 +02:00
Harold Seigel
18bbeb53e6 8210470: Remove unused Verifier::verify() Verifier::Mode argument
Remove the unused argument.

Reviewed-by: coleenp, jiangli
2018-09-11 09:53:41 -04:00
Erik Österlund
842bc09b01 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
Reviewed-by: coleenp, pliden
2018-09-10 13:07:42 +02:00
Coleen Phillimore
eb9259138f 8210155: Lock ClassLoaderDataGraph
In preparation for concurrent class unloading.

Reviewed-by: hseigel, eosterlund
2018-08-31 07:03:46 -04:00
Coleen Phillimore
3559b6be76 8209958: Clean up duplicate basic array type statics in Universe
Reviewed-by: lfoltan, zgu
2018-08-28 18:17:01 -04:00
Harold Seigel
eb51968f00 8202578: Revisit location for class unload events
Use notify_unload_class() to post JFR class unload events instead of doing a separate traversal of the class loader data graph

Reviewed-by: lfoltan, coleenp, mgronlun, egahlin
2018-08-28 10:10:11 -04:00
Roman Kennke
9ec15cedd0 8206457: Code paths from oop_iterate() must use barrier-free access
Reviewed-by: eosterlund, shade
2018-07-06 16:04:19 +02:00
Ioi Lam
5b2c081460 8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed
Relocate and patch archive regions if necessary

Reviewed-by: jiangli, tschatzl
2018-08-14 09:59:37 -07:00
Coleen Phillimore
b1ce2c0fe8 8208172: SIGSEGV when owner of invokedynamic bootstrap method throws an exception - Symbol::increment_refcount()+0x0
Table for resolution errors always expect non-null message string.

Reviewed-by: dholmes, iklam
2018-08-22 07:51:07 -04:00
Ioi Lam
bc62b3a40e 8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled
Added fieldDescriptor.inline.hpp

Reviewed-by: coleenp, shade
2018-08-20 13:58:23 -07:00
Lois Foltan
75ed173e15 8209301: JVM rename is_anonymous, host_klass to unsafe specific terminology ahead of Unsafe.defineAnonymousClass deprecation
Clean up VM anonymous class terminology.

Reviewed-by: coleenp, dholmes, mchung
2018-08-20 08:25:57 -04:00
Jiangli Zhou
da4684e2e1 8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work
Check the MetaspaceShared::archive_heap_object return value and handle failure accordingly.

Reviewed-by: iklam, coleenp
2018-08-16 17:29:22 -04:00
Gerard Ziemski
b75805c1a5 8195100: Use a low latency hashtable for SymbolTable
Used concurrentHashTable, similar to stringTable

Reviewed-by: coleenp, kbarrett, iklam, pliden
2018-08-14 18:42:14 -05:00
Coleen Phillimore
d1aea148fe 8207924: serviceability/sa/TestUniverse.java#id0 intermittently fails with assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
InstanceKlass::implementors() needs the Compile_lock

Reviewed-by: thartmann, eosterlund
2018-08-11 12:49:33 -04:00
Roman Kennke
cbcc690048 8205523: Explicit barriers for interpreter
Reviewed-by: eosterlund, coleenp
2018-06-22 16:07:15 +02:00
Roman Kennke
f62fa67625 8204969: Asserts in objArrayKlass.cpp need to use _raw variants of obj_addr_at()
Reviewed-by: tschatzl, eosterlund
2018-08-09 17:11:11 +02:00
Coleen Phillimore
a7b66f6f5e 8208677: Move inner metaspace cleaning out of class unloading
Move to safepoint cleanup actions to do if needed.

Reviewed-by: eosterlund, hseigel
2018-08-08 15:24:21 -04:00
Thomas Schatzl
9c0720b156 8208671: Runtime, JFR, Serviceability changes to allow enabling -Wreorder
Reviewed-by: dholmes, hseigel
2018-08-08 15:31:07 +02:00
Ioi Lam
1b2e7cbaef 8208999: Some use of Klass* should be replaced by InstanceKlass*
Klass::java_super() => InstanceKlass*; InstanceKlass::{local,transitive}_interfaces() => Array<InstanceKlass*>*

Reviewed-by: coleenp, hseigel
2018-08-07 15:45:07 -07:00
Harold Seigel
82186ce311 8208604: Metadata::print_value_string() compares 'this' to NULL
Remove the comparison and add asserts to check for NULL

Reviewed-by: coleenp, gziemski
2018-08-06 14:20:58 -04:00
Harold Seigel
38db1d1620 8202171: Some oopDesc functions compare this with NULL
Add Method* parameter and made verify* methods static to avoid 'this' comparison with NULL, Added NULL checks before calling print_on() methods.

Reviewed-by: kbarrett, coleenp
2018-07-31 14:24:10 -04:00
Harold Seigel
7d04a31fc8 8208399: Metadata methods print_(value_)on_maybe_null() compare 'this' to NULL
Add Method* parameter and make method static to avoid 'this' comparison with NULL

Reviewed-by: lfoltan, gziemski, coleenp
2018-07-31 09:55:09 -04:00
Harold Seigel
c277f9ed8e 8207779: Method::is_valid_method() compares 'this' with NULL
Add Method* parameter and make method static to avoid 'thi's comparison with NULL

Reviewed-by: lfoltan, coleenp
2018-07-30 16:35:54 -04:00
Coleen Phillimore
39dd04b953 8207359: Make SymbolTable increment_refcount disallow zero
Use cmpxchg for non permanent symbol refcounting, and pack refcount and length into an int.

Reviewed-by: gziemski, kbarrett, iklam
2018-07-20 14:52:11 -04:00
Lois Foltan
cc58241bec 8205611: Improve the wording of LinkageErrors to include module and class loader information
Clean up the wording of loader constraint violations to include the module and class loader information.

Reviewed-by: coleenp, goetz, hseigel
2018-07-16 11:34:17 -04:00
Lois Foltan
e8fcd927c3 8178712: ResourceMark may be missing inside initialize_[vi]table
Clean up use of ResourceMark within initialize_[vi]table.

Reviewed-by: ccheung, iklam, jiangli
2018-07-16 09:06:33 -04:00
Paul Sandoz
a0e9bf4280 8202769: jck test fails with C2: vm/jvmti/FollowReferences/fref001/fref00113/fref00113.html
Reviewed-by: kvn, coleenp
2018-07-02 10:09:01 -07:00
Erik Österlund
e4dbe9909f 8205683: Refactor heap allocation to separate concerns
Reviewed-by: pliden, kbarrett
2018-06-28 14:22:28 +02:00
Stefan Karlsson
03d213bcda 8205923: ZGC: Verification applies load barrier before verification
Reviewed-by: pliden, eosterlund
2018-06-27 15:02:53 +02:00
Kim Barrett
8a2170dad7 8205559: Remove IN_CONCURRENT_ROOT Access decorator
Removed decorator and made all NativeAccess use barriers.

Reviewed-by: pliden, stefank
2018-06-26 16:59:38 -04:00
Stefan Karlsson
5012044e63 8205607: Use oop_iterate instead of oop_iterate_no_header
Reviewed-by: pliden, kbarrett
2018-06-26 13:54:19 +02:00
Lois Foltan
7ca4027957 8169559: Add class loader names to relevant VM messages
Added new method class_in_module_of_loader to provide a standard format for class information within error messages.

Reviewed-by: goetz, hseigel, mchung
2018-06-25 11:33:11 -04:00
Stefan Karlsson
11813888b8 8204540: Automatic oop closure devirtualization
Reviewed-by: kbarrett, eosterlund
2018-05-26 06:59:49 +02:00
Michihiro Horie
4641ea7bed 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space
Reviewed-by: kbarrett, mdoerr, drwhite, tschatzl
2018-06-25 10:41:03 +02:00
Tom Rodriguez
0173db08e9 8198909: [Graal] compiler/codecache/stress/UnexpectedDeoptimizationTest.java crashed with SIGSEGV
Reviewed-by: eosterlund, iveresov
2018-06-24 21:46:11 -07: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
Igor Veresov
90c4e07b60 8204209: [Graal] Compilation fails during nmethod printing with "assert(bci == 0 || 0 <= bci && bci < code_size()) failed: illegal bci"
Tolerate JVMCI placeholder bcis

Reviewed-by: kvn, never, dlong
2018-06-22 15:58:32 -07:00
Kim Barrett
b84c23399e 8205459: Rename Access API flag decorators
Rename OOP_NOT_NULL, IN_HEAP_ARRAY, AS_DEST_NOT_INITIALIZED

Reviewed-by: pliden, stefank
2018-06-22 17:46:58 -04:00
Martin Doerr
ea76c6d316 8205172: 32 bit build broken
Reviewed-by: roland, kvn, dholmes
2018-06-19 16:29:48 +02: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
Goetz Lindenmaier
731d9b1499 8204268: Improve some IncompatibleClassChangeError messages
Reviewed-by: stuefe, hseigel
2018-06-15 12:31:28 +02:00
Roland Westrelin
97dd8bf743 8203197: C2: consider all paths in loop body for loop predication
Reviewed-by: kvn, neliasso
2018-06-19 09:08:39 +02:00
Goetz Lindenmaier
4a24d95917 8204943: Improve message of ArrayStoreException
Reviewed-by: lfoltan, hseigel
2018-06-15 12:25:53 +02:00