Harold Seigel
d01e8e3c74
8135265: VM fails on 'empty' interface public <init>()V method with VerifyError
...
Don't check for calls to super() or this() fro <init>()V methods if they are in interfaces. Because, they are not ctors.
Reviewed-by: acorn, gtriantafill
2015-09-22 14:24:31 -04:00
Harold Seigel
9d7677a83f
8130669: VM prohibits <clinit> methods with return values
...
Ignore <clinit> methods with return values instead of throwing ClassFormatError exceptions
Reviewed-by: acorn, iklam
2015-07-09 15:39:05 -04:00
Harold Seigel
6a5fa52c18
8076319: jstat verified class fix
...
Move verify perf data so that it only counts classes that actually get verified.
Reviewed-by: acorn, coleenp, gtriantafill
2015-05-29 15:23:41 -04:00
Harold Seigel
e5e17a62d1
8076318: split verifier needs to add TraceClassResolution
...
Add print statements to verifier when TraceClassResolution is specified
Reviewed-by: coleenp, acorn
2015-05-08 16:24:46 -04:00
Harold Seigel
257436004b
7127066: Class verifier accepts an invalid class file
...
For *store bytecodes, compare incoming, not outgoing, type state with exception handlers' stack maps.
Reviewed-by: acorn, dholmes
2015-03-25 08:16:48 -04:00
Harold Seigel
bbd0191aea
8075118: JVM stuck in infinite loop during verification
...
Keep a list of handlers to prevent the same handler from being scanned repeatedly.
Reviewed-by: dlong, dholmes
2015-03-19 08:55:50 -04:00
Yumin Qi
3bbda04f98
Merge
2015-01-27 20:02:35 -08:00
Alejandro Murillo
bbd13b5561
Merge
2015-01-22 22:42:31 -08:00
Lois Foltan
5f8b5ceaee
8067480: Crash in klassItable::initialize_itable_for_interface when running vm.runtime.defmeth.StaticMethodsTest
...
A static method should be skipped in entirety by find_instance_method(), searching should continue to find an overpass method of the same name and signature if present.
Reviewed-by: acorn, hseigel
2015-01-23 09:54:33 -05:00
Harold Seigel
4e980350ca
8055146: Split Verifier incorrectly throws VerifyError for getstatic of an array field
...
Allow fieldClass for getstatic and putstatic to be an array
Reviewed-by: dholmes, acorn
2015-01-14 08:14:23 -05:00
Harold Seigel
5b8ee4c102
8064335: Null pointer dereference in hotspot/src/share/vm/classfile/verifier.cpp
...
Use correct CHECK macro in call to load_class()
Reviewed-by: coleenp, lfoltan, gziemski
2014-12-30 12:59:20 -05:00
Stefan Karlsson
95704b233c
8064811: Use THREAD instead of CHECK_NULL in return statements
...
Reviewed-by: coleenp, simonis, dholmes
2014-11-14 09:47:09 +01:00
Harold Seigel
616b927160
8058982: Better verification of an exceptional invokespecial
...
Throw VerifyError for illegal accesses
Reviewed-by: acorn, ahgross, coleenp
2014-10-20 14:43:11 -04:00
Alejandro Murillo
c3b487d84f
Merge
2014-10-17 07:58:54 -07:00
Aleksey Shipilev
fe03f41db8
8059924: com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java: assert(Universe::verify_in_progress() || !SafepointSynchronize::is_at_safepoint()) failed: invariant
...
Revive the hashcode installation in Verifier
Reviewed-by: kamg, lfoltan
2014-10-09 16:41:28 +04:00
Aleksey Shipilev
0ba4969549
8059595: Verifier::verify is wasting time before is_eligible_for_verification check
...
Do the check earlier.
Reviewed-by: hseigel, kamg
2014-10-02 17:13:31 +04:00
Harold Seigel
1bae14de54
8057845: ClassVerifier::verify_exception_handler_targets reconstructs the ExceptionTable in a loop
...
Construct the ExceptionTable only once, before the loop
Reviewed-by: acorn, jiangli, coleenp, lfoltan
2014-09-19 08:19:04 -04:00
Harold Seigel
1436d4b821
8050485: super() in a try block in a ctor causes VerifyError
...
Parse catch clause paths to ensure they end in throws
Reviewed-by: dlong, acorn, kamg, ctornqvi, lfoltan
2014-08-12 20:29:25 -04:00
Harold Seigel
f588cd1325
8051012: Regression in verifier for <init> method call from inside of a branch
...
Fix stackmap matching for branches.
Reviewed-by: coleenp, lfoltan, acorn
2014-08-02 16:28:59 -04:00
Serguei Spitsyn
b0367c3bea
Merge
2014-07-18 23:53:59 -07:00
Coleen Phillimore
e051932425
Merge
2014-07-18 11:22:49 -04:00
Coleen Phillimore
3f0a945468
8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
...
Remove bcx and mdx handling. We no longer have to convert bytecode pointers to indices for GC since Methods aren't moved.
Reviewed-by: mgerdin, kvn
2014-07-17 15:45:46 -04:00
Harold Seigel
0cc38ff4d5
8043454: Test case for 8037157 should not throw a VerifyError
...
Don't throw VerifyError if method is NULL.
Reviewed-by: acorn, lfoltan, mschoene
2014-07-14 13:31:03 +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
Harold Seigel
f203dcbfbf
8036533: Method for correct defaults
...
8036156: Limit default method hierarchy
Fix protected access checks
Reviewed-by: coleenp, lfoltan, acorn, ahgross
2014-07-22 16:16:51 +04:00
Yuri Gaevsky
4f2c88d8cd
8043925: Fix typo in verifier.cpp
...
Fix lookupswitch
Reviewed-by: sla, coleenp
2014-05-23 16:54:01 -04:00
Yuri Gaevsky
cc3c656cf1
8025580: Temporary flags: UseNewReflection and ReflectionWrapResolutionErrors
...
The fix removes all UseNewReflection/ReflectionWrapResolutionErrors occurrences/logic and adds them into the list of obsolete_jvm_flags in arguments.cpp.
Reviewed-by: coleenp, hseigel
2014-05-15 17:38:50 -04: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
Harold Seigel
2216f41ed6
8037157: Verify <init> call
...
Check for null method
Reviewed-by: coleenp, acorn, mschoene
2014-05-07 19:34:48 +04:00
Harold Seigel
13d9244b49
8035119: Fix exceptions to bytecode verification
...
Prevent ctor calls to super() and this() from avoidable code (try blocks, if stmts, etc.)
Reviewed-by: coleenp, acorn, mschoene
2014-07-14 12:45:14 +04:00
Goetz Lindenmaier
6e6f0720a9
8042195: Introduce umbrella header orderAccess.inline.hpp
...
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02: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
Lois Foltan
8c36d0cd2b
8033150: invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults
...
A static method should be preferred during method resolution over an overpass, search the current class as well as its superclasses.
Reviewed-by: acorn, coleenp, kamg
2014-04-14 14:27:45 -04:00
Lois Foltan
28557bc30e
8026065: InterfaceMethodref for invokespecial must name a direct superinterface
...
Add verification to check that invokespecial of an InterfaceMethodref names a method in a direct superinterface of the current class or interface in accordance with JSR 335, JVMS 4.9.2 Structural Constraints.
Reviewed-by: acorn, hseigel, coleenp
2013-11-26 09:52:22 -05:00
Yumin Qi
7496b461e3
8025632: Remove all references to MagicLambdaImpl from Hotspot
...
MagicLambdaImpl was removed from jdk side, this should be done in vm side too
Reviewed-by: coleenp, hseigel, rdurbin
2013-11-13 16:24:33 -08:00
Karen Kinnear
4f064cafe6
8026365: NoClassDefinitionFound for anonymous class invokespecial
...
Reviewed-by: dcubed, kamg
2013-10-17 23:30:17 -04:00
Karen Kinnear
920880a243
8026022: Verifier: allow anon classes to invokespecial host class/intf methods
...
Reviewed-by: coleenp, bharadwaj
2013-10-08 16:58:23 -04:00
Karen Kinnear
fdf2c975ed
8023872: Verification error in generated lambda classes
...
Skip verification for generated lambda classes
Reviewed-by: kamg, dholmes
2013-08-30 15:15:56 -04:00
Harold Seigel
1ff22f2ed9
8016764: JVM does not prohibit invokespecial in c.f.v 51.0 that invokes default interface method in c.f.v 52.0
...
Check cfv before allowing invokespecial call to default method.
Reviewed-by: kamg, acorn, dholmes
2013-08-29 10:33:13 -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
Bharadwaj Yadavalli
be10521e31
8011671: JCK tests on static interface methods fail under b84: Illegal type at constant pool entry 5
...
Restore incorrect removal of support for static interface method verification in Java 8
Reviewed-by: kvn, coleenp
2013-04-09 08:52:32 -07:00
Harold Seigel
feec2af7b4
8009595: The UseSplitVerifier option needs to be deprecated
...
Put UseSplitVerifier option on the deprecated list.
Reviewed-by: dcubed, kmo, acorn
2013-03-26 09:06:16 -04:00
Bharadwaj Yadavalli
0e9d409036
8009552: test/vm/verifier/TestStaticIF.java failing with hs25.0-b
...
Remove support for verification of class files with version 52 and above from type inference verifier.
Reviewed-by: acorn, hseigel
2013-03-25 09:36:15 -07:00
Harold Seigel
41f0004e4f
8010667: Non-zero padding is not allowed in splitverifier for tableswitch/lookupswitch instructions
...
Don't check the padding bits if class file version is >= 51.
Reviewed-by: kvn, dholmes, coleenp
2013-03-25 08:37:28 -04:00
Bharadwaj Yadavalli
ff4bbcd501
8007736: VerifyError for static method in interface
...
Reviewed-by: dholmes, acorn
2013-02-14 14:33:35 -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
Keith McGuigan
6563cda42b
7200776: Implement default methods in interfaces
...
Add generic type analysis and default method selection algorithms
Reviewed-by: coleenp, acorn
2012-10-11 12:25:42 -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
Daniel D. Daugherty
9d85b8e187
Merge
2012-08-17 11:57:46 -07:00
Christian Thalinger
e622fcdc27
7188911: nightly failures after JSR 292 lazy method handle update (round 2)
...
Reviewed-by: kvn, jrose
2012-08-07 14:32:08 -07:00