42 Commits

Author SHA1 Message Date
Coleen Phillimore
c36295e947 8145148: InterfaceMethod CP entry pointing to a class should cause ICCE
Pass tag in LinkInfo and check that resolved method type matches tag, fix tests.

Reviewed-by: sspitsyn, minqi
2016-05-27 10:52:39 -04:00
Coleen Phillimore
8e63a10779 8148772: VM crash in nsk/jvmti/RedefineClasses/StressRedefine: assert failed: Corrupted constant pool
8151546: nsk/jvmti/RedefineClasses/StressRedefine fails in hs nightly

ConstantPool::resolve_constant_at_impl() isn't thread safe for MethodHandleInError and MethodTypeInError and Constant pool merging is not thread safe for source_file_name.

Reviewed-by: sspitsyn, dcubed
2016-04-13 12:57:31 -04: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
Coleen Phillimore
f8800caf4f Merge 2016-01-14 16:26:38 -05:00
Goetz Lindenmaier
b26df6b69f 8146401: Clean up oop.hpp: add inline directives and fix header files
Reviewed-by: coleenp
2016-01-04 15:41:05 +01: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
Jesper Wilhelmsson
b1e3e8436a Merge 2015-10-30 00:02:37 +01:00
Mikael Gerdin
d281188a5f 8140452: Internal Error memory/allocation.cpp:179
Use const ref & and avoid copy ctor

Reviewed-by: coleenp
2015-10-26 17:13:40 -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
Christian Thalinger
16526e000e 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10:00
Serguei Spitsyn
8be0bb5458 8008678: JSR 292: constant pool reconstitution must support pseudo strings
Keep orig idx from pseudo-string to UTF8, use 2nd lsb CPSlot to mark pseudo-string.

Reviewed-by: coleenp, jrose
2015-01-29 03:11:01 -08:00
Stefan Karlsson
692dbfd02d 8062808: Turn on the -Wreturn-type warning
Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett
2014-11-12 13:55:59 +01:00
Coleen Phillimore
63080521d7 8058093: Test nsk/stress/jck60/jck60014: assert in src/share/vm/oops/constantPool.cpp: should not be resolved otherwise
8044209: nsk/split_verifier/security/coglio06 fails with exit code 97 - missing 'prohibited package name'

Fix resolution error saving.

Reviewed-by: lfoltan, sspitsyn, hseigel, ctornqvi
2014-10-28 17:02:08 -04:00
Goetz Lindenmaier
25f33c005d 8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories
Introduce and clean up umbrella headers for the files in the cpu subdirectories.

Reviewed-by: lfoltan, coleenp, dholmes
2014-07-04 11:46:01 +02:00
Coleen Phillimore
243d697d71 8026977: NPG: Remove ConstantPool::lock
Write klass and resolved_references constant pool fields lock free.

Reviewed-by: jrose, twisti
2014-06-19 11:16:10 -04:00
Coleen Phillimore
39f7049fbb Merge 2014-05-07 18:19:31 -04:00
Coleen Phillimore
7e2463ea72 8023697: failed class resolution reports different class name in detail message for the first and subsequent times
Cache detail message when we cache exception for constant pool resolution.

Reviewed-by: acorn, twisti, jrose
2014-05-05 19:53:00 -04:00
Tobias Hartmann
06c26b6f97 8036956: remove EnableInvokeDynamic flag
The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.

Reviewed-by: kvn, twisti
2014-04-29 08:08:44 +02:00
Coleen Phillimore
472622d900 8031820: NPG: Fix remaining references to metadata as oops in comments
8012125: Comments for ConstantPoolCache should reflect the addition of resolved_references in ConstantPool

Updated comments in metadata header files, and renamed this_oop variables to this_cp or this_k when referring to constant pool or classes.

Reviewed-by: stefank, jmasa
2014-03-26 21:47:45 -04:00
Ioi Lam
0e4eda601c 8014910: deadlock between JVM/TI ClassPrepare event handler and CompilerThread
Revert changes in JDK-8008962

Reviewed-by: coleenp, sspitsyn
2013-10-22 14:29:02 -07:00
Ioi Lam
522051490c 8025088: Missing cases for JVM_CONSTANT_MethodHandleInError cause crash if debugger steps into error-tagged method handle
Need to refetch each method from InstanceKlass after all safepoints.  Removed leaky PreviousVersionInfo code.

Reviewed-by: coleenp, sspitsyn
2013-09-23 08:56:19 -07:00
Daniel D. Daugherty
80b2573b1c Merge 2013-09-20 18:19:07 -07:00
Coleen Phillimore
42589e0f11 8014956: nashorn/api/javaaccess/MethodAccessTest.java test fails on sparc-solaris 64
Reference_map[] array had uninitialized junk that was causing a bogus bootstrap method to be found.

Reviewed-by: hseigel, dcubed, sspitsyn
2013-09-20 18:34:00 -04: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
Yumin Qi
c6aa9c656f 8003557: NPG: Klass* const k should be const Klass* k
With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.

Reviewed-by: coleenp, kvn
2013-05-10 08:27:30 -07:00
Ioi Lam
4e19360f89 8008962: NPG: Memory regression: One extra Monitor per ConstantPool
Re-use InstanceKlass::_init_lock locking ConstantPool as well.

Reviewed-by: dholmes, coleenp, acorn
2013-04-25 12:55:49 -07: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
Coleen Phillimore
b8b9434a9f 8000797: NPG: is_pseudo_string_at() doesn't work
Zero Symbol* for constant pool strings to indicate pseudo_strings (objects that aren't strings).  Clean up JVM_CONSTANT_Object and unused flags.

Reviewed-by: sspitsyn, jrose
2013-02-22 08:36:42 -05:00
Karen Kinnear
b28f16c910 Merge 2013-01-28 10:34:07 -05:00
Ioi Lam
93b845e21b 6479360: PrintClassHistogram improvements
Jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions)

Reviewed-by: coleenp, hseigel, sla, acorn
2013-01-25 15:06:18 -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
Coleen Phillimore
99039568f9 8006040: NPG: on_stack processing wastes space in ConstantPool
Added on_stack bit to flags.  Also MetadataMarkOnStack is used for more than JVMTI so had to be moved.

Reviewed-by: dholmes, stefank
2013-01-23 10:34:29 -05:00
Coleen Phillimore
833b7fcfff 8006548: version wrong in new constantPool code
Fix increment problem with saved_version

Reviewed-by: dholmes
2013-01-17 22:11:57 -05:00
Coleen Phillimore
e508ba9b0b 7174978: NPG: Fix bactrace builder for class redefinition
Remove Method* from backtrace but save version so redefine classes doesn't give inaccurate line numbers.  Removed old Merlin API with duplicate code.

Reviewed-by: dholmes, sspitsyn
2013-01-17 13:40:31 -05:00
Harold Seigel
7fee66f152 8000725: NPG: method_holder() and pool_holder() and pool_holder field should be InstanceKlass
Change types of above methods and field to InstanceKlass and remove unneeded casts from the source files.

Reviewed-by: dholmes, coleenp, zgu
2012-11-06 15:09:37 -05:00
Rickard Bäckman
25e07fb041 Merge 2012-10-09 07:41:27 +02:00
Christian Thalinger
59b8489a0c 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
2012-10-01 14:50:10 -07:00
Coleen Phillimore
28047d6a0f 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Capitalize these metadata types (and objArrayKlass)

Reviewed-by: stefank, twisti, kvn
2012-09-29 06:40:00 -04:00
Coleen Phillimore
8536f548db 7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type
Need to restore the vtable in metadata when we restore the type from the shared archive.

Reviewed-by: acorn, jcoomes, jmasa, jrose
2012-09-05 20:08:08 -04:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00