72 Commits

Author SHA1 Message Date
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Vladimir Kozlov
b9c00b1904 Merge 2015-04-16 14:05:48 -07:00
Vladimir Ivanov
5ff12acb9d 8062280: C2: inlining failure due to access checks being too strict
Reviewed-by: kvn
2015-04-14 18:11:06 +03:00
Yumin Qi
3e6cf09c39 8074345: Enable RewriteBytecodes when VM runs with CDS
Enable bytecode rewriting when CDS turned on.

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Reviewed-by: coleenp, iklam
2015-03-25 15:18:37 -07: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
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
Lois Foltan
edc10143cb 8036805: Correct linker method lookup
Correct handling of array of primitive type qualifiers during field and method resolution.

Reviewed-by: acorn, hseigel, ahgross
2014-05-07 19:38:22 +04:00
Harold Seigel
b6a2f946f6 8031819: Remove legacy jdk checks and code
Delete old jdk specific code.

Reviewed-by: dholmes, coleenp, zgu, lfoltan
2014-06-11 09:58:23 -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
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
Calvin Cheung
a3c78aac2f 8032010: Attempt to resolve abstract method in concrete class fails with AbstractMethodError
Removing a check in LinkResolver::resolve_method() to conform with a change in JVMS-8 5.4.3.3. Method Resolution

Reviewed-by: coleenp, lfoltan
2014-02-05 15:14:47 -08:00
Harold Seigel
fe0b2eae89 8031045: Access checks should precede additional per-instruction checks
Move access check above the check for non-static method

Reviewed-by: lfoltan, coleenp
2014-01-17 09:39:51 -05:00
Harold Seigel
4856bd53aa 8027804: JCK resolveMethod test fails expecting AbstractMethodError
Create AME overpass methods and fix method search logic

Reviewed-by: kamg, acorn, lfoltan, coleenp
2013-12-16 08:24:33 -05:00
Lois Foltan
5ece6fc7fd 8028741: Interface Method Resolution should skip static and non-public methods in j.l.Object
Implementation of JDK 8 JVMS 5.4.3.4 specification change to skip static and non-public methods of java.lang.Object for interface method resolution.

Reviewed-by: acorn, coleenp
2013-12-10 16:18:26 -05:00
Lois Foltan
2078c58bbf 8029415: java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java fails on all platforms with hs25-b61
Check first that a class is not a dynamically-generated bytecode associated with 1.4 reflection implementation, to emitting an ICCE of an invokespecial IMR of a method in an indirect superinterface.

Reviewed-by: acorn, hseigel
2013-12-06 11:33:10 -05:00
Karen Kinnear
536943884a 8028438: static superclass method masks default methods
Reviewed-by: hseigel, lfoltan, coleenp
2013-12-03 11:13:14 -08:00
Karen Kinnear
b5f2f33aaa 8026066: ICCE for invokeinterface static
Reviewed-by: coleenp, lfoltan, hseigel
2013-12-03 08:36:15 -08: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
Karen Kinnear
4b35aa3d1e 8027229: ICCE expected for >=2 maximally specific default methods
Need to process defaults for interfaces for invokespecial

Reviewed-by: lfoltan, hseigel, coleenp, jrose
2013-11-13 07:31:26 -08:00
Lois Foltan
033c5b68ea 8026394: Eclipse fails with JDK8 build 111
If the resolved interface does not itself contain "clone" or "finalize" methods, the method/interface method resolution looks to the interface's super class, java.lang.Object.  With the JDK 8 interface method accessability check requirement, since these two methods are declared within Object as protected, they must be special cased in LinkResolver::check_method_accessability() in order to avoid an IAE.

Reviewed-by: acorn, dholmes
2013-10-22 14:47:59 -04:00
Calvin Cheung
e187f54e56 Merge 2013-10-18 19:44:40 -07:00
Igor Veresov
d94fef24b5 Merge 2013-10-17 10:58:45 -07:00
Lois Foltan
21627fb02f 8024804: Crash when InterfaceMethodref resolves to Object.registerNatives
Added check for NULL prior to continuation of method look up to avoid runtime crash during look up of Object's superclass' methods.

Reviewed-by: coleenp, hseigel
2013-10-16 14:32:05 -04:00
Karen Kinnear
72e7308263 8026299: invokespecial gets ICCE when it should get AME
Reviewed-by: ccheung, coleenp
2013-10-14 21:52:42 -04:00
David Chase
b1d7228bff 8026124: JSR-292 bug: java.nio.file.Path.toString cores dump
Catch problem case, assert it matches valid input, new test

Reviewed-by: jrose, twisti, kvn
2013-10-12 17:26:41 -04: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
Karen Kinnear
71a3a55630 8011311: Private interface methods. Default conflicts:ICCE. no erased_super_default
Reviewed-by: coleenp, bharadwaj, minqi
2013-10-01 08:10:42 -04:00
Lois Foltan
7bf953d005 7195622: CheckUnhandledOops has limited usefulness now
Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.

Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
2013-09-26 10:25:02 -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
Bharadwaj Yadavalli
f63b13e379 8006267: InterfaceMethod_ref should allow invokestatic and invokespecial
Lambda changes; spec 0.6.2 - Allow static invokestatic and invokespecial calls to InterfaceMethod_ref

Reviewed-by: dholmes, acorn
2013-04-18 08:05:35 -07:00
Krystal Mo
fe4b74edc7 8011952: Missing ResourceMarks in TraceMethodHandles
Add missing ResourceMark under TraceMethodHandles in LinkResolver

Reviewed-by: dholmes
2013-04-11 07:12:09 -07:00
Karen Kinnear
b79e2c6803 8009731: Confusing error message for loader constraint violation
Fix text, overwritten type and holder for resolved method

Reviewed-by: coleenp, dcubed, minqi, dholmes
2013-03-27 14:10:59 -04:00
Lana Steuck
4d0bc0dc58 Merge 2013-03-12 18:22:40 -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
Edvard Wendelin
3c21e13d68 Merge 2013-02-19 21:45:09 +01:00
Edvard Wendelin
3562a0b06d Merge 2013-02-03 22:43:57 +01: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
Stefan Karlsson
57204d9f34 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
2012-11-27 14:20:21 +01:00
Harold Seigel
4aad9b74e7 8001471: Klass::cast() does nothing
Remove function Klass::cast() and calls to it.

Reviewed-by: dholmes, coleenp
2012-11-12 16:15:05 -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
c1be65b49c 8001307: Modify ACC_SUPER behavior
Disallow non-virtual calls even when ACC_SUPER is absent.

Reviewed-by: kvn, acorn
2012-11-05 17:03:33 -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
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
Christian Thalinger
0f2dd1c15e 7196120: NPG: JSR 2292 test fails because missing fix for 7188911
Reviewed-by: kvn, coleenp
2012-09-04 18:01:20 -07: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
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
Christian Thalinger
12901d0e5b 7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI

Remove assembly code for JDK 7 chained method handles

Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Kurt Miller
95c56a472b 7089790: integrate bsd-port changes
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Jung-uk Kim <jkim@freebsd.org>
Co-authored-by: Christos Zoulas <christos@zoulas.com>
Co-authored-by: Landon Fuller <landonf@plausible.coop>
Co-authored-by: The FreeBSD Foundation <board@freebsdfoundation.org>
Co-authored-by: Michael Franz <mvfranz@gmail.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Alexander Strange <astrange@apple.com>
Reviewed-by: kvn, twisti, jrose
2011-09-25 16:03:29 -07:00