Harold Seigel
64dd8e763d
8137314: vm crash from test java/security/Policy/SignedJar/SignedJarTest.java
...
Add additional checks in the verifier for recursive verification
Reviewed-by: acorn, gtriantafill
2016-01-27 07:14:56 -05:00
David Lindholm
ad0c208a5a
8146690: Make all classes in GC follow the naming convention
...
Reviewed-by: dholmes, stefank
2016-01-14 13:26:19 +01:00
Max Ockner
de7d9e821c
8144874: Reimplement TraceClassResolution with Unified Logging
...
TraceClassResolution reimplemented with classresolve tag.
Reviewed-by: coleenp, dholmes, iklam, rprotacio
2015-12-23 15:05:38 -05:00
Coleen Phillimore
e858a1cd9a
8144256: compiler/uncommontrap/TestStackBangRbp.java crashes VM on Solaris
...
Take out inlining of methodHandle copy constructors and destructors
Reviewed-by: hseigel, gtriantafill
2015-12-18 15:50:33 -05:00
Max Ockner
a3d8114b45
8142976: Reimplement TraceClassInitialization with Unified Logging
...
TraceClassInitialization logging reimplemented with Unified Logging.
Reviewed-by: coleenp, hseigel
2015-12-02 14:07:58 -05:00
Harold Seigel
3756d55ee6
8139164: JVM should throw ClassFormatError for non-void methods named <clinit>
...
If method being parsed is named <clinit>, throw ClassFormatError if it is not void or has arguments, for class file version >= 51.
Reviewed-by: acorn, lfoltan
2015-11-10 08:42:53 -05: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
Harold Seigel
df9b5759f7
8139069: JVM should throw ClassFormatError for <init> methods in interfaces
...
If method being parsed is in an interface, throw ClassFormatError if its name is "<init>"
Reviewed-by: acorn, lfoltan
2015-10-14 13:30:47 -04:00
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