85 Commits

Author SHA1 Message Date
Vladimir Ivanov
b47c2517ad 8037210: Get rid of char-based descriptions 'J' of basic types
Reviewed-by: jrose, psandoz, twisti
2014-02-24 18:11:55 +04:00
Alexandre Iline
092e29980a 8039438: Some tests depend on internal API sun.misc.IOUtils
Remove dependency on sun.misc.IOUtils.readFully(InputStream, int, boolean)

Reviewed-by: alanb, mchung, chegar
2014-04-21 13:12:22 -07:00
Igor Ignatyev
4fdcaf04d8 8038186: [TESTBUG] improvements of test j.l.i.MethodHandles
Reviewed-by: iveresov, twisti, vlivanov
2014-03-29 12:29:21 +04:00
Vladimir Ivanov
9d59eb2da1 8036117: MethodHandles.catchException doesn't handle VarargsCollector right (8034120 failed)
Reviewed-by: jrose, twisti
2014-03-11 19:54:33 +04:00
Robert Field
2e148fb065 8035776: Consistent Lambda construction
Reviewed-by: ahgross, briangoetz, dlsmith
2014-03-04 15:33:30 -08:00
Vladimir Ivanov
856f5c5823 8027827: Improve performance of catchException combinator
8034120: MethodHandles.catchException doesn't handle VarargsCollector right

Reviewed-by: lagergren, psandoz, jrose
2014-03-01 02:05:53 +04:00
Vladimir Ivanov
56bce7519d 8032585: JSR292: IllegalAccessError when attempting to invoke protected method from different package
8033278: Missed access checks for Lookup.unreflect* after 8032585

Reviewed-by: jrose, twisti
2014-02-21 17:12:23 +04:00
Lana Steuck
657b9db1ba 8029235: Update copyright year to match last edit in jdk8 jdk repository for 2013
Updated files with 2011, 2012 and 2013 years according to the file's last updated date

Reviewed-by: tbell, lancea, chegar
2013-12-26 12:04:16 -08:00
Daniel Smith
aa81fd4ead 8032697: Issues with Lambda
Reviewed-by: ahgross, briangoetz, dlsmith, rfield
2014-01-28 17:22:07 -08:00
Robert Field
1b02cd3f12 8032711: Issue with Lambda in handling
8032704: Issues with lib perm in Lambda

Reviewed-by: jrose, ahgross, briangoetz
2014-01-28 12:53:56 -08:00
Vladimir Ivanov
3621fb4643 8031502: JSR292: IncompatibleClassChangeError in LambdaForm for CharSequence.toString() method handle type converter
Reviewed-by: sundar, lagergren, drchase
2014-01-15 20:48:44 +04:00
Lana Steuck
1a633e63a9 Merge 2013-11-15 07:14:23 -08:00
Joel Borggrén-Franck
4163fbdc49 8028055: (reflect) invoking Method/Constructor in anonymous classes breaks with -Dsun.reflect.noInflation=true
Reviewed-by: briangoetz
2013-11-14 12:17:37 +01:00
Sergey Bylokhov
9ab430a0d2 8027696: Incorrect copyright header in the tests
Reviewed-by: alanb, malenkov, mullan
2013-11-12 20:24:25 +04:00
Vladimir Ivanov
ee23c1f412 8027823: catchException combinator fails with 9 argument target
Reviewed-by: jrose
2013-11-09 04:21:28 +04:00
John Rose
8d462795cb 8027232: Update j.l.invoke code generating class files to use ASM enhancements for invocation of non-abstract methods on ifaces
Co-authored-by: Paul Sandoz <paul.sandoz@oracle.com>
Reviewed-by: ksrini, rfield
2013-11-06 11:31:49 -08:00
Robert Field
ee1006e3bd 7194897: JSR 292: Cannot create more than 16 instances of an anonymous class
8027681: Lambda serialization fails once reflection proxy generation kicks in

Co-authored-by: Joel Borggren-Franck <joel.franck@oracle.com>
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Reviewed-by: ksrini, briangoetz, jfranck
2013-11-04 10:12:18 -08:00
Robert Field
80ce6f3ec5 8025868: Several lang/LMBD JCK tests fail with java.lang.BootstrapMethodError
Wildcard marker interfaces can cause duplicate implemented interfaces in generated lambda class

Reviewed-by: briangoetz
2013-10-23 15:16:35 -07:00
David Chase
c668ed8f33 8022718: Runtime accessibility checking: protected class, if extended, should be accessible from another package
Modify accessibility check; it was muddled about Java vs JVM protection terminology.

Reviewed-by: jrose
2013-10-16 17:55:49 -04:00
Chris Hegarty
3486abb2c7 Merge 2013-10-15 13:54:01 +01:00
Chris Hegarty
766e77499d Merge 2013-10-15 09:27:32 +01:00
Henry Jen
ca8301dc7d 8026362: java/lang/invoke/lambda/LogGeneratedClassesTest.java failed on windows, jtreg report Fail to org.testng.SkipException
Reviewed-by: chegar
2013-10-14 17:27:20 -07:00
Henry Jen
1f02e9968e 8023524: Mechanism to dump generated lambda classes / log lambda code generation
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Reviewed-by: plevart, mchung, forax, jjb
2013-10-09 09:41:40 -07:00
Chris Hegarty
6088b141e2 Merge 2013-10-03 19:06:43 +01:00
John R Rose
be5df968ee 8024438: JSR 292 API specification maintenance for JDK 8
Add wildcard to unreflectConstructor, various clarifications and minor edits

Reviewed-by: mchung, darcy, twisti
2013-10-05 05:30:40 -07:00
John R Rose
c5b5f0d6c7 8025112: JSR 292 spec updates for security manager and caller sensitivity
Align CONSTANT_MethodHandle and Lookup.find* API calls, clarify security manager & @CallerSensitive interactions

Reviewed-by: mchung, twisti
2013-10-05 05:30:39 -07:00
John R Rose
32e77eaae1 8001110: method handles should have a collectArguments transform, generalizing asCollector
Promote an existing private method; make unit tests on all argument positions to arity 10 with mixed types

Reviewed-by: twisti, vlivanov
2013-10-05 05:30:39 -07:00
John R Rose
4ea5f818b5 8024599: JSR 292 direct method handles need to respect initialization rules for static members
Align MH semantic with bytecode behavior of constructor and static member accesses, regarding <clinit> invocation.

Reviewed-by: twisti, darcy, abuckley, vlivanov
2013-10-05 05:30:39 -07:00
John R Rose
154969a2bc 8001108: an attempt to use "<init>" as a method name should elicit NoSuchMethodException
Add an explicit check for leading "<", upgrade the unit tests

Reviewed-by: twisti, darcy
2013-10-05 05:30:39 -07:00
John R Rose
e4df9dc1ee 8001109: arity mismatch on a call to spreader method handle should elicit IllegalArgumentException
Document error conditions that may occur when calling a "spreader" method handle.  Use IAE in all cases.

Reviewed-by: twisti, vlivanov
2013-10-05 05:30:39 -07:00
John R Rose
77dc59f6ca 8019417: JSR 292 javadoc should clarify method handle arity limits
Clarification of erroneous reading of spec. that led to 7194534

Reviewed-by: twisti, darcy
2013-10-05 05:30:39 -07:00
John R Rose
622186edcb 8001105: findVirtual of Object[].clone produces internal error
Replicate JVM logic for access control that makes Object.clone appear public when applied to an array type.

Reviewed-by: twisti
2013-10-05 05:30:38 -07:00
Chris Hegarty
369c079b32 Merge 2013-08-30 09:37:29 +01:00
David Chase
fdf6a159f5 8022701: Accessibility checking: InvocationTargetException is thrown instead of IllegalAccessError
Inserted code to convert specific exceptions, case-by-case, plus a test.

Reviewed-by: jrose, twisti
2013-09-27 13:32:32 -04:00
Christian Thalinger
53b5f75095 8022066: Evaluation of method reference to signature polymorphic method crashes VM
Reviewed-by: jrose
2013-08-12 13:47:21 -07:00
John Rose
59440ee0be 8008688: Make MethodHandleInfo public
A major overhaul to MethodHandleInfo and method handles in general.

Reviewed-by: vlivanov, twisti
2013-09-03 21:42:56 -07:00
Mani Sarkar
4f76f09719 8022749: Convert junit tests to testng in test/java/lang/invoke
Reviewed-by: mduigou, alanb
2013-08-12 12:11:04 -07:00
Christian Thalinger
22d32e76ce 8019184: MethodHandles.catchException() fails when methods have 8 args + varargs
Reviewed-by: jrose
2013-07-03 11:35:06 -07:00
Mandy Chung
5a360a7579 8007035: deprecate public void SecurityManager.checkMemberAccess(Class<?> clazz, int which)
Reviewed-by: jrose, alanb, dfuchs
2013-07-02 15:58:09 -07:00
Robert Field
9151d67365 8016761: Lambda metafactory - incorrect type conversion of constructor method handle
Reviewed-by: jrose
2013-06-26 07:50:04 -07:00
Chris Hegarty
0431243910 8014737: java/lang/invoke/7196190/MHProxyTest.java fails after 8009424
Reviewed-by: twisti
2013-05-22 13:57:59 +01:00
Robert Field
60fae99960 8012028: Metafactory-generated lambda classes should be final
8008941: isSynthetic() returns false for lambda instances

Reviewed-by: mduigou
2013-04-12 20:23:13 -07:00
Vladimir Ivanov
9aba745d56 8009222: java.lang.IllegalArgumentException: not invocable, no method type when attempting to get getter method handle for a static field
Reviewed-by: jrose, twisti
2013-03-06 16:59:42 +04:00
Alan Bateman
9849742625 8006000: TEST_BUG: java/lang/invoke/lambda/LambdaAccessControlTest.java fails intermittently
Reviewed-by: chegar
2013-03-08 12:03:26 +00:00
Robert Field
b0dc9de25e 8008770: SerializedLambda incorrect class loader for lambda deserializing class
Current thread's context ClassLoader was used to load class by name, pass class not name in serialization (Thank you Peter Levart for test and prototype. Thank you Sundar and Peter for unofficial reviews)

Reviewed-by: forax
2013-02-26 10:38:58 -08:00
Krystal Mo
f5666f9a69 7087570: java.lang.invoke.MemberName information wrong for method handles created with findConstructor
REF_invokeSpecial DMHs (which are unusual) get marked explicitly; tweak the MHI to use this bit

Reviewed-by: jrose, twisti
2013-02-26 11:05:26 +00:00
Robert Field
56baa11720 8008356: Test LambdaSerialization.java failing
Run in /othervm mode

Reviewed-by: ksrini
2013-02-21 15:46:37 -08:00
Robert Field
381aecb7c2 8004970: Implement serialization in the lambda metafactory
Reviewed-by: forax
2013-02-16 12:36:54 -08:00
David Katleman
306cab1006 8004982: JDK8 source with GPL header errors
Reviewed-by: ohair
2012-12-20 16:24:50 -08:00
Robert Field
846f0f2ded 8003881: Prevent lambda implementing inner classes from allowing the creation of new instances
Lambda implementing inner classes now has private constructor (thanks Kumar)

Reviewed-by: ksrini
2012-12-06 21:55:55 -08:00