Commit Graph

165 Commits

Author SHA1 Message Date
Mandy Chung
a183bfb436 8280377: MethodHandleProxies does not correctly invoke default methods with varags
Reviewed-by: alanb
2022-01-26 01:24:15 +00:00
Maurizio Cimadamore
96e36071b6 8275063: Implementation of Foreign Function & Memory API (Second incubator)
Reviewed-by: erikj, psandoz, jvernee, darcy
2021-11-24 11:51:16 +00:00
Mandy Chung
21da218387 8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
Reviewed-by: psandoz, dlsmith
2021-10-28 22:24:56 +00:00
Mandy Chung
c6339cb8a2 8271820: Implementation of JEP 416: Reimplement Core Reflection with Method Handle
8013527: calling MethodHandles.lookup on itself leads to errors

Co-authored-by: Peter Levart <plevart@openjdk.org>
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Co-authored-by: Mandy Chung <mchung@openjdk.org>
Reviewed-by: mcimadamore, plevart, egahlin, redestad, cjplummer, alanb
2021-10-28 18:32:50 +00:00
Aleksey Shipilev
a3308af060 8272836: Limit run time for java/lang/invoke/LFCaching tests
Reviewed-by: redestad, iignatyev
2021-08-26 06:51:19 +00:00
Yi Yang
07e9052457 8270056: Generated lambda class can not access protected static method of target class
Co-authored-by: NekoCaffeine <nekocaffeine@qq.com>
Reviewed-by: mchung
2021-07-13 02:24:14 +00:00
Mandy Chung
56240690f6 8269426: Rename test/jdk/java/lang/invoke/t8150782 to accessClassAndFindClass
Reviewed-by: jvernee
2021-06-28 19:52:27 +00:00
Mandy Chung
6eb734a60f 8266269: Lookup::accessClass fails with IAE when accessing an arrayClass with a protected inner class as component class
Reviewed-by: chegar, alanb
2021-06-26 18:27:28 +00:00
Mandy Chung
3d0d27ce57 8269351: Proxy::newProxyInstance and MethodHandleProxies::asInterfaceInstance should reject sealed interfaces
Reviewed-by: darcy, alanb
2021-06-26 16:46:57 +00:00
Weijun Wang
ef4ba224c4 8268349: Provide clear run-time warnings about Security Manager deprecation
Reviewed-by: lancea, mullan, alanb
2021-06-22 02:06:59 +00:00
Dan Smith
58ba48b7b8 8268192: LambdaMetafactory with invokespecial causes VerificationError
Reviewed-by: psandoz, mchung
2021-06-09 23:57:41 +00:00
Dan Smith
fc08af58cb 8174222: LambdaMetafactory: validate inputs and improve documentation
Reviewed-by: mchung
2021-06-07 23:21:24 +00:00
Jonathan Gibbons
3482cb87fd 8266254: Update to use jtreg 6
8265020: tests must be updated for new TestNG module name

Reviewed-by: lancea, erikj, mchung, naoto, alanb, iris, chegar
2021-06-02 21:20:12 +00:00
Weijun Wang
6765f90250 8266459: Implement JEP 411: Deprecate the Security Manager for Removal
Co-authored-by: Sean Mullan <mullan@openjdk.org>
Co-authored-by: Lance Andersen <lancea@openjdk.org>
Co-authored-by: Weijun Wang <weijun@openjdk.org>
Reviewed-by: erikj, darcy, chegar, naoto, joehw, alanb, mchung, kcr, prr, lancea
2021-06-02 11:57:31 +00:00
Maurizio Cimadamore
a223189b06 8264774: Implementation of Foreign Function and Memory API (Incubator)
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Jorn Vernee <jvernee@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: Athijegannathan Sundararajan <sundar@openjdk.org>
Co-authored-by: Chris Hegarty <chegar@openjdk.org>
Reviewed-by: psandoz, chegar, mchung, vlivanov
2021-06-02 10:53:06 +00:00
Jorn Vernee
3623abb7f6 8263087: Add a MethodHandle combinator that switches over a set of MethodHandles
Reviewed-by: redestad
2021-05-27 12:28:10 +00:00
Mark Reinhold
e63023546a 8266851: Implement JEP 403: Strongly Encapsulate JDK Internals
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: mchung, alanb, hseigel
2021-05-26 20:55:53 +00:00
Weijun Wang
640a2afda3 8267184: Add -Djava.security.manager=allow to tests calling System.setSecurityManager
Co-authored-by: Lance Andersen <lancea@openjdk.org>
Co-authored-by: Weijun Wang <weijun@openjdk.org>
Reviewed-by: dholmes, alanb, dfuchs, mchung, mullan, prr
2021-05-24 16:55:55 +00:00
Claes Redestad
9760dba71c 8267321: Use switch expression for VarHandle$AccessMode lookup
Reviewed-by: jvernee
2021-05-19 15:23:44 +00:00
Harold Seigel
e14b026841 8243287: Removal of Unsafe::defineAnonymousClass
Reviewed-by: iklam, mchung, alanb, dholmes
2021-05-13 12:46:54 +00:00
Mandy Chung
cc03734b99 8266925: Add a test to verify that hidden class's members are not statically invocable
Reviewed-by: alanb
2021-05-12 00:53:04 +00:00
Jorn Vernee
c88714875d 8265079: Implement VarHandle invoker caching
Reviewed-by: redestad, vlivanov, psandoz, mchung
2021-04-19 11:36:55 +00:00
Jorn Vernee
b7baca7f32 8264288: Performance issue with MethodHandle.asCollector
Reviewed-by: jrose, vlivanov
2021-04-05 20:05:07 +00:00
Jorn Vernee
d07af2b8ec 8255531: MethodHandles::permuteArguments throws NPE when duplicating dropped arguments
Reviewed-by: redestad
2021-01-28 12:26:32 +00:00
Johannes Kuhn
bf5e801501 8259922: MethodHandles.collectArguments does not throw IAE if pos is outside the arity range
Reviewed-by: mchung
2021-01-22 17:18:06 +00:00
Claes Redestad
27cc62a5c7 8259911: byteArrayViewVarHandle should throw ArrayIndexOutOfBoundsException
Reviewed-by: jvernee, mchung
2021-01-20 23:42:58 +00:00
Jan Lahoda
235488215b 8250768: javac should be adapted to changes in JEP 12
Reviewed-by: mcimadamore, erikj, jjg, ihse
2021-01-11 10:10:47 +00:00
Mandy Chung
f0b1194004 8235784: java/lang/invoke/VarHandles/VarHandleTestByteArrayAsInt.java fails due to timeout with fastdebug bits
Reviewed-by: bchristi, naoto
2020-12-03 22:14:52 +00:00
Julia Boes
b170c8376d 8257591: Remove suppression of record preview related warnings in java.lang
Reviewed-by: chegar
2020-12-03 15:48:03 +00:00
Mandy Chung
4356469a31 8230501: Class data support for hidden classes
Reviewed-by: jvernee, psandoz, chegar
2020-12-01 00:24:40 +00:00
Jorn Vernee
03e84ef7e3 8256189: Exact VarHandle tests should test withInvokeBehavior() works as expected
Reviewed-by: mcimadamore, chegar
2020-11-18 19:01:52 +00:00
Maurizio Cimadamore
3e70aac5cc 8254162: Implementation of Foreign-Memory Access API (Third Incubator)
Reviewed-by: erikj, psandoz, alanb
2020-11-12 16:37:23 +00:00
Jorn Vernee
0a41ca6b75 8254354: Add a withInvokeExactBehavior() VarHandle combinator
Reviewed-by: psandoz, chegar
2020-11-10 23:26:02 +00:00
Mandy Chung
6d8acd2696 8256066: Tests use deprecated TestNG API that is no longer available in new versions
Reviewed-by: jjg
2020-11-10 17:51:52 +00:00
Mandy Chung
94ace035a5 8255863: Clean up test/jdk/java/lang/invoke/defineHiddenClass/BasicTest.java
Reviewed-by: rriggs, chegar
2020-11-04 17:44:09 +00:00
Jorn Vernee
b8d4e02ce7 8255374: Add a dropReturn MethodHandle combinator
Reviewed-by: redestad
2020-11-03 12:10:48 +00:00
Mandy Chung
5782a2a309 8254975: lambda proxy fails to access a protected member inherited from a split package
Reviewed-by: rriggs
2020-10-29 21:11:37 +00:00
Jorn Vernee
2a2fa134c3 8255449: Improve the exception message of MethodHandles::permuteArguments
Reviewed-by: chegar, mchung
2020-10-29 18:32:48 +00:00
Gilles Duboscq
1b79326c05 8242451: ensure semantics of non-capturing lambdas are preserved independent of execution mode
Reviewed-by: mchung
2020-09-25 10:10:36 +00:00
Mandy Chung
4e6a4af186 8244090: public lookup should find public members of public exported types
Reviewed-by: lfoltan, psandoz
2020-09-03 12:43:13 -07:00
Mikael Vidstedt
9ff01f7b2f Merge 2020-07-21 20:55:29 -07:00
Igor Ignatyev
f8c1d79917 8249697: remove temporary fixes from java/lang/invoke/RicochetTest.java
Reviewed-by: mchung
2020-07-20 12:16:35 -07:00
Igor Ignatyev
af0d6d28b0 8249698: java/lang/invoke/LFCaching/LFGarbageCollectedTest.java should be ProblemList-ed and not @ignored
Reviewed-by: kvn, mchung
2020-07-20 09:11:51 -07:00
Andrew Leonard
d42f541dc3 8248231: deserializeLambda created with wrong encoding if platform encoding not UTF-8
Reviewed-by: vromero
2020-07-08 09:23:59 -04:00
Mandy Chung
f2b191a6e9 8247444: Trust final fields in records
Co-authored-by: Christoph Dreis <christoph.dreis@freenet.de>
Reviewed-by: jrose, dholmes, forax, coleenp, vlivanov
2020-06-19 08:27:59 -07:00
Mandy Chung
71d646a160 8235521: Replacement API for Unsafe::ensureClassInitialized
Reviewed-by: alanb, chegar, psandoz
2020-06-08 16:55:45 -07:00
Mandy Chung
5e5880d4f1 8245061: Lookup::defineHiddenClass should throw ClassFormatError if this_class is not Class_info structure
8245432: Lookup::defineHiddenClass should throw UnsupportedClassVersionError if bytes are of an unsupported major or minor version
8245596: Clarify Lookup::defineHiddenClass spec @throws IAE if the bytes has ACC_MODULE flag set

Reviewed-by: alanb, dholmes
2020-06-01 13:19:06 -07:00
Chris Hegarty
f3eb44a94d 8243491: Implementation of Foreign-Memory Access API (Second Incubator)
Upstream latest changes of the Foreign-Memory Access API

Co-authored-by: Jorn Vernee <jorn.vernee@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Paul Sandoz <paul.sandoz@oracle.com>
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: chegar, psandoz
2020-05-25 10:54:39 +01:00
Mandy Chung
1c6ca09b02 8238195: Lookup::defineClass should link the class to match the specification
Reviewed-by: alanb, chegar
2020-04-21 07:09:18 -07:00
Mandy Chung
7cc1371059 8238358: Implementation of JEP 371: Hidden Classes
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jamsheed Mohammed C M <jamsheed.c.m@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Amy Lu <amy.lu@oracle.com>
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, sspitsyn, vromero
2020-04-21 06:55:38 -07:00
Magnus Ihse Bursie
48569d9da0 8243156: Fix deprecation and unchecked warnings in microbenchmark
Reviewed-by: erikj, redestad
2020-04-21 13:52:32 +02:00
Igor Ignatyev
e2240b714e 8236111: narrow allowSmartActionArgs disabling
Reviewed-by: dholmes, mullan, darcy, rriggs
2020-01-15 21:20:40 -08:00
Sureshkumar Mahaliswamy
984abfeb3f 8234309: LFGarbageCollectedTest.java fails with parse Exception
LFGarbageCollectedTest.java fails with parse Exception

Reviewed-by: mchung
2020-01-09 22:42:53 -08:00
Mandy Chung
e7fa637179 8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag
Reviewed-by: alanb
2019-12-06 15:10:40 -08:00
Mandy Chung
a445b66e58 8233527: Update Lookup::hasPrivateAccess and Lookup::defineClass spec w.r.t. full power lookup
Add a new Lookup::hasFullPrivilegeAccess method and document the capabilities requiring full privileges

Reviewed-by: alanb, plevart
2019-12-04 10:46:49 -08:00
Vladimir Ivanov
a6daef527e 8234923: Missed call_site_target nmethod dependency for non-fully initialized ConstantCallSite instance
Reviewed-by: jrose
2019-12-03 20:13:21 +03:00
Vladimir Ivanov
e515a609e9 8234401: ConstantCallSite may stuck in non-frozen state
Reviewed-by: psandoz
2019-11-26 16:09:17 +03:00
Jorn Vernee
be223c62fc 8233920: MethodHandles::tryFinally generates illegal bytecode for long/double return type
Reviewed-by: redestad, vlivanov, jrose
2019-11-14 10:55:46 +01:00
Mandy Chung
5b0fbb2560 8173975: Lookup::in should not allow target class be primitive or array class
Reviewed-by: alanb
2019-10-29 12:52:03 -07:00
Mandy Chung
5d397eea9f 8229785: MethodType::fromMethodDescriptorString should require security permission if loader is null
Reviewed-by: vromero
2019-09-10 10:35:52 -07:00
Mandy Chung
182c19e8c4 8209005: Lookup.unreflectSpecial fails for default methods when Lookup.findSpecial works
8209078: Unable to call default method from interface in another module from named module

Reviewed-by: dfuchs, plevart
2019-08-13 15:49:11 -07:00
Mandy Chung
068575e9b1 8173978: Lookup.in should allow teleporting from a lookup class in a named module without dropping all access
Reviewed-by: alanb, plevart
2019-07-24 16:46:42 -07:00
Vladimir Kozlov
c956e7ca8d 8185139: [Graal] Tests which set too restrictive security manager fail with Graal
Tests should also check default policy

Reviewed-by: mchung, dfuchs, alanb, mullan
2019-06-21 13:04:14 -07:00
Mandy Chung
ab361746ec 8220282: Add MethodHandle tests on accessing final fields
Reviewed-by: lancea
2019-04-06 21:05:58 +08:00
Adam Farley
be132fcc65 8216558: Lookup.unreflectSetter(Field) fails to throw IllegalAccessException for final fields
Reviewed-by: mchung
2019-03-26 15:53:36 -07:00
Mandy Chung
007d3c0143 8218461: test/jdk/java/lang/invoke/VarHandles should be generated rather than manually edited
Reviewed-by: bpb, vromero
2019-02-06 15:09:05 -08:00
Brian Burkhalter
f380787a41 8218460: Test generation scripts do not invoke stream preprocessor correctly
Reviewed-by: rriggs
2019-02-05 14:36:50 -08:00
Mandy Chung
d98fe57b18 8213932: [TESTBUG] assertEquals is invoked with the arguments in the wrong order
Reviewed-by: lancea
2019-01-22 15:31:47 -08:00
Vicente Romero
0032475ef1 8215648: remove equals and hashCode implementations from j.l.i.VarHandle
Reviewed-by: mchung
2019-01-11 09:02:44 -05:00
Vicente Romero
9846588b31 8210031: implementation for JVM Constants API
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Reviewed-by: jrose, mcimadamore, darcy, mchung, rriggs, dholmes, forax
2018-12-09 12:36:24 -05:00
Hamlin Li
bb50695ff9 8211975: move testlibrary/jdk/testlibrary/OptimalCapacity.java to top-level library
Reviewed-by: igerasim
2018-11-28 15:34:43 +08:00
Vicente Romero
61082e6b25 8213480: update internal ASM version to 7.0
Reviewed-by: dholmes, iignatyev, alanb
2018-11-13 23:33:17 -05:00
Igor Ignatyev
82ed2a5fc0 8210894: remove jdk/testlibrary/Asserts
Reviewed-by: serb
2018-09-21 14:50:06 -07:00
Igor Ignatyev
3521fc392e 8210779: 8182404 and 8210732 haven't updated copyright years
Reviewed-by: bchristi
2018-09-17 11:50:39 -07:00
Igor Ignatyev
8b28ad6efe 8210732: remove jdk.testlibrary.Utils
Reviewed-by: alanb, jcbeyler
2018-09-14 14:02:57 -07:00
Paul Sandoz
70b706c224 8206955: MethodHandleProxies.asInterfaceInstance does not support default methods
Reviewed-by: mchung, plevart
2018-08-06 15:18:57 -07:00
Jesper Wilhelmsson
4fc510cc89 Merge 2018-07-14 02:14:54 +02:00
Paul Sandoz
d808684592 8207027: Lookup.accessClass fails for an array type in the same package when assertions are enabled
Reviewed-by: redestad, mchung
2018-07-11 15:35:47 -07:00
Paul Sandoz
14651d9e02 8195650: Method references to VarHandle accessors
Reviewed-by: jrose
2018-06-25 14:39:44 -07:00
Vivek Theeyarath
ac99e1d447 8177275: IllegalArgumentException when MH would have too many parameters is not specified for several methods
Updated spec and added tests

Reviewed-by: psandoz
2018-07-02 23:33:40 -07:00
David Holmes
95bf19563b 8010319: Implementation of JEP 181: Nest-Based Access Control
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Maurizio Mimadamore <maurizio.mimadamore@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Co-authored-by: Vlaidmir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Daniel Smith <daniel.smith@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Kumar Srinivasan <kumardotsrinivasan@gmail.com>
Co-authored-by: Boris Ulasevich <boris.ulasevich@bell-sw.com>
Reviewed-by: alanb, psandoz, mchung, coleenp, acorn, mcimadamore, forax, jlahoda, sspitsyn, abuckley
2018-06-23 01:32:41 -04:00
Lois Foltan
6379f91c00 8203435: Circular nested dynamic constant test needed to confirm JVMS resolution behavior
Additional of circular nested dynamic constant test.

Reviewed-by: acorn, psandoz
2018-06-04 11:32:00 -04:00
Vivek Theeyarath
5103e3b4a3 8177276: MethodHandles.insertArguments doesn't specify IllegalArgumentException on index mismatch
Correct MethodHandles.insertArguments spec

Reviewed-by: psandoz, mchung, ntv
2018-05-25 22:56:00 -07:00
David Holmes
8eb4c9db2a 8202686: Missing test case for 8200167 - final Object methods
Reviewed-by: psandoz
2018-05-07 19:31:39 -04:00
Vivek Theeyarath
31c128ef22 8195717: test java/lang/invoke/MethodHandlesTest timed out running testAsCollector1
Refactor MethodHandlesTest

Reviewed-by: psandoz
2018-05-03 04:18:22 -07:00
Vladimir Ivanov
3ecce1fe48 8202465: [C1] casts should not be eliminated for interface types
Reviewed-by: jrose, thartmann
2018-05-04 16:49:22 -07:00
Lois Foltan
2464e2b11e 8189916: Dynamic Constant support for Sparc
Change to the template interpreter to support dynamic constant on Sparc.

Reviewed-by: coleenp, psandoz
2018-05-04 12:14:09 -04:00
John Rose
d05ed512ac 8200167: Validate more special case invocations
Co-authored-by: Vladimir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Reviewed-by: acorn, vlivanov, dholmes
2018-04-30 21:56:54 -04:00
Paul Sandoz
1a23a6264e 8194238: Trying exceptions in MethodHandles
Reviewed-by: jrose, vlivanov, ahgross
2018-01-24 16:44:31 -08:00
Paul Sandoz
9b54e6d766 8194233: Improve support for array handles
Reviewed-by: jrose, vlivanov, ahgross, rhalade
2018-01-22 13:27:28 -08:00
Paul Sandoz
d3760023e6 8199875: Require first parameter type of a condy bootstrap to be Lookup
Reviewed-by: jrose
2018-04-11 11:11:13 -07:00
Ivan Gerasimov
9fe989cc39 8200788: Optimal initial capacity of java.lang.VarHandle.AccessMode.methodNameToAccessMode
Reviewed-by: redestad
2018-04-07 17:07:13 -07:00
Paul Sandoz
2ab07cc314 8197944: Condy tests fails on Windows
Reviewed-by: dholmes
2018-03-13 15:29:55 -07:00
Paul Sandoz
4954362d29 8199342: The constant pool forgets it has a Dynamic entry if there are overpass methods
Reviewed-by: lfoltan, acorn
2018-03-08 14:33:57 -08:00
Jesper Wilhelmsson
aa9cf33c1e Merge 2018-02-19 04:50:50 +01:00
Alan Bateman
8f56ea639d 8196830: publicLookup().findVirtual should not return method handle to AccessibleObject.setAccessible
Reviewed-by: mchung, psandoz
2018-02-24 08:26:53 +00:00
Martin Doerr
eb3ec99500 8196786: [PPC64+s390] ConstantDynamic support
Reviewed-by: psandoz, dsamersoff
2018-02-13 17:38:03 +01:00
Paul Sandoz
c9757ad448 8196960: Exceptions in ConstantBootstrapsTest.java on SPARC
Reviewed-by: lfoltan
2018-02-07 12:37:30 -08:00
Jesper Wilhelmsson
44ab590f44 Merge 2018-02-05 23:12:03 +01:00
Lana Steuck
414e05f6d7 Merge 2018-02-02 01:52:03 +00:00