83 Commits

Author SHA1 Message Date
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
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
Tobias Hartmann
72e8f28d56 8075805: Crash while trying to release CompiledICHolder
Removed nmethod transition to zombie outside of sweeper. Added cleaning of ICs of unloaded nmethods.

Reviewed-by: kvn, iveresov
2015-08-25 07:49:55 +02:00
Andreas Eriksson
606468abc4 8076110: VM crash when class is redefined with Instrumentation.redefineClasses
Reviewed-by: coleenp, sspitsyn
2015-06-16 15:59:57 +02:00
Coleen Phillimore
d97fc17132 8081219: hs_err improvement: Add event logging for class redefinition to the hs_err file
Use the Events::log function to save redefined classes for output to the hs_err file.

Reviewed-by: sspitsyn, jiangli, lfoltan
2015-06-04 08:05:47 -04:00
Jesper Wilhelmsson
25c41c6094 Merge 2015-05-21 21:17:56 +02:00
Serguei Spitsyn
99f8091782 8079644: memory stomping error with ResourceManagement and TestAgentStress.java
The cached class file structure must be deallocated instead of the cached class file bytes

Reviewed-by: coleenp, sla
2015-05-18 16:42:46 -07:00
Serguei Spitsyn
f7c143cbb2 8073705: more performance issues in class redefinition
Optimize the method pointer adjustments for prev klass versions and MNT

Reviewed-by: dcubed, coleenp
2015-04-27 19:51:00 -07:00
Serguei Spitsyn
89256b01cb 8066679: jvmtiRedefineClasses.cpp assert cache ptrs must match
Remove the assert and deallocate cashed class file bytes that are in collision

Reviewed-by: coleenp, dcubed
2015-04-07 20:18:28 -07:00
Zoltan Majo
379e3d6fb6 Merge 2015-03-19 18:01:39 +01:00
Coleen Phillimore
7b384c6958 8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Only do full metadata walk during class redefinition and only walk handles during class unloading.

Reviewed-by: sspitsyn, stefank
2015-03-13 12:40:39 -04:00
Serguei Spitsyn
942d1f7f32 8046246: the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
Optimize the adjust_method_entries functions by using the orig_method_idnum() function

Reviewed-by: coleenp, dcubed
2015-02-25 00:30:54 -08:00
Goetz Lindenmaier
a7edf52a02 8073315: Enable gcc -Wtype-limits and fix upcoming issues
Relevant fixes in blockOffsetTable.cpp, os_linux.cpp, parCardTableModRefBS.cpp.

Reviewed-by: jwilhelm, kbarrett, simonis
2015-02-16 14:07:36 +01:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Serguei Spitsyn
4326ee324a 8068162: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Adjust Unsafe methods in the itable/vtable if Unsafe is redefined

Reviewed-by: coleenp, dcubed
2015-01-26 15:51:28 -08:00
Coleen Phillimore
27a1ed85b6 8067836: The Universe::flush_foo methods belong in CodeCache
Move this code to CodeCache.

Reviewed-by: kbarrett, kvn
2015-01-06 19:30:28 -05:00
Coleen Phillimore
feb09bc118 8067713: Move clean_weak_method_links for redefinition out of class unloading
Do this work during class redefinition, only verify clean during class unloading in debug mode.

Reviewed-by: sspitsyn, roland, kbarrett
2014-12-18 16:15:21 -05:00
Andreas Eriksson
ea48bceb5e 8057043: Type annotations not retained during class redefine / retransform
Reviewed-by: coleenp, sspitsyn, jfranck
2014-10-22 13:59:56 +02:00
Coleen Phillimore
3c70d99eda 8055008: Clean up code that saves the previous versions of redefined classes
Use scratch_class to find EMCP methods for breakpoints if the old methods are still running.

Reviewed-by: dcubed, sspitsyn
2014-09-03 19:13:18 -04:00
Serguei Spitsyn
7f2b064e43 8042796: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Relax the guaranty for deleted methods

Reviewed-by: dcubed, coleenp
2014-05-16 15:05:44 -07: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
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Roland Westrelin
bff5f5c875 8030662: "assert(counter_changed) failed: failed dependencies, but counter didn't change" still fails
Erroneously removed call to SystemDictionary::notice_modification() from jvmti with fix for 8029383

Reviewed-by: iveresov, twisti, kvn
2014-01-14 12:44:12 +01:00
Roland Westrelin
bbb97e5b39 8029383: assert(counter_changed) failed: failed dependencies, but counter didn't change
No call to SystemDictionary::notice_modification() when class is defined through Unsafe.defineAnonymousClass() can caused missed dependency change.

Reviewed-by: kvn, twisti
2013-12-13 09:25:44 +01:00
Karen Kinnear
088ded71f9 8009130: Lambda: Fix access controls, loader constraints
New default methods list with inherited superinterface methods

Reviewed-by: minqi, sspitsyn, coleenp
2013-10-07 12:20:28 -04:00
Coleen Phillimore
b08778e139 8025238: nsk/jvmti/scenarios/bcinstr/BI04/bi04t002 crashed with SIGSEGV
Redefined class in stack trace may not be found by method_idnum so handle null.

Reviewed-by: sla, dcubed, sspitsyn
2013-10-03 18:53:27 -04:00
Daniel D. Daugherty
156b06d897 Merge 2013-09-20 12:58:35 -07:00
Coleen Phillimore
ec5e07f810 8022887: Assertion hit while using class and redefining it with RedefineClasses simultaneously
Need to refetch each method from InstanceKlass after all safepoints.  Removed leaky PreviousVersionInfo code.

Reviewed-by: dcubed, sspitsyn
2013-09-20 09:30:02 -04:00
Niclas Adlertz
afef481831 Merge 2013-09-19 18:01:39 +02:00
David Chase
222c735458 8014013: CallInfo structure no longer accurately reports the result of a LinkResolver operation
Enhance method resolution and resulting data structures, plus some refactoring.

Reviewed-by: twisti, acorn, jrose
2013-09-13 22:38:02 -04:00
Serguei Spitsyn
2823ae6943 8024346: ~CautiouslyPreserveExceptionMark - assert(!_thread->has_pending_exception()) failed: unexpected exception generated
Pending exceptions must be handled properly after a call to the JVMTI merge_cp_and_rewrite

Reviewed-by: coleenp, dholmes
2013-09-13 12:48:50 -07:00
Serguei Spitsyn
47e8234251 8024345: 'assert(_value != NULL) failed: resolving NULL _value' from VM_RedefineClasses::set_new_constant_pool
The OOME's in the JVMTI merge_cp_and_rewrite and set_new_constant_pool must be handled correctly

Reviewed-by: coleenp, dholmes
2013-09-13 12:47:44 -07:00
Serguei Spitsyn
5c11ecebfb 8017230: Internal Error (jvmtiRedefineClasses.cpp:1662): guarantee(false) failed: insert_space_at() failed
Handle pending exceptions instead of firing a guarantee()

Reviewed-by: coleenp, dholmes
2013-09-13 12:46:40 -07:00
Jiangli Zhou
5c6c0a8d1d 8023547: com/sun/jdi/RedefineMulti.sh fails with IllegalArgumentException after JDK-8021948
Need to check if the constant pool mapping returns 0.

Reviewed-by: coleenp, sspitsyn
2013-08-22 19:27:42 -04:00
Jiangli Zhou
553b498f51 8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes
Change InstanceKlass::_source_file_name and _generic_signature to u2 fields.

Reviewed-by: coleenp, iklam
2013-08-19 14:59:54 -04:00
Coleen Phillimore
a25f924de6 8009728: nsk/jvmti/AttachOnDemand/attach030 crashes on Win32
ActiveMethodOopsCache was used to keep track of old versions of some methods that are cached in Universe but is buggy with permgen removal and not needed anymore

Reviewed-by: sspitsyn, dcubed, mseledtsov
2013-08-12 17:24:54 -04:00
Jiangli Zhou
3dfcb4125e 8020309: Eliminate InstanceKlass::_cached_class_file_len
Use JvmtiCachedClassFileData.

Reviewed-by: iklam, sspitsyn, dcubed
2013-07-17 18:06:29 -04:00
Serguei Spitsyn
6d485348e1 8014052: JSR292: assert(end_offset == next_offset) failed: matched ending
A call to the finalize_operands_merge() must be unconditional

Reviewed-by: kvn, twisti
2013-06-03 14:28:37 -07: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
8320660846 8013063: nsk/jvmti/RetransformClasses/retransform001 failed debug version on os::free
Clear out class_file_bytes so they aren't deallocated twice

Reviewed-by: dcubed, sspitsyn
2013-05-07 09:46:15 -04:00
Serguei Spitsyn
333cf9a756 8007037: JSR 292: the VM_RedefineClasses::append_entry() should do cross-checks with indy operands
References from operands to CP entries and back must be correct after CP merge

Reviewed-by: coleenp, twisti
2013-04-25 03:58:53 -07:00
Serguei Spitsyn
87f3086e13 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Lazily create and maintain the MemberNameTable to be able to update MemberName's

Reviewed-by: coleenp, jrose, dholmes
2013-04-20 04:07:08 -07:00
Eric McCorkle
b56b3bc9aa 8007153: Ensure that MethodParameters API works properly with RedefineClasses
Adds code to HotSpot to properly update MethodParameter attributes' constant pool indexes when redefineClasses is called

Reviewed-by: coleenp, sspitsyn
2013-02-19 11:36:52 -05:00
Coleen Phillimore
faea95b8d3 8007320: NPG: move method annotations
Allocate method annotations and attach to ConstMethod if present

Reviewed-by: dcubed, jiangli, sspitsyn, iklam
2013-02-11 14:06:22 -05:00
Daniel D. Daugherty
8ef946f380 7182152: Instrumentation hot swap test incorrect monitor count
Add/refine new tracing support using -XX:TraceRedefineClasses=16384.

Reviewed-by: coleenp, acorn, sspitsyn
2013-02-06 14:31:37 -08:00
Serguei Spitsyn
932c29e08e 8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic
The invokedynamic bytecode ref to a CP entry needs to be checked and fixed as well.

Reviewed-by: coleenp, twisti
2013-01-31 20:11:14 -08:00
Serguei Spitsyn
823c749bd1 8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds
Need a support for invokedynamic entry kinds when new and old constant pools are merged.

Reviewed-by: coleenp, twisti
2013-01-31 20:07:18 -08:00
Yumin Qi
fe8363948e Merge 2013-01-25 13:47:52 -08:00
Zhengyu Gu
fc0efc91c8 8000692: Remove old KERNEL code
Removed depreciated kernel VM source code from hotspot VM

Reviewed-by: dholmes, acorn
2013-01-25 10:04:08 -05:00
Serguei Spitsyn
020fe75e67 8005128: JSR 292: the mlvm redefineClassInBootstrap test crashes in ConstantPool::compare_entry_to
When constant pool is copied in merge_constant_pools the invokedynamic operands must be copied before.

Reviewed-by: coleenp, twisti
2013-01-24 22:13:32 -08:00