Commit Graph

69 Commits

Author SHA1 Message Date
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
Jiangli Zhou
f3e4fda6ed 7197210: java/lang/invoke/CallSiteTest.java failing on armsflt
Reduce work load and set longer timeout for java/lang/invoke tests.

Reviewed-by: kvn, twisti
2012-11-05 12:51:14 -05:00
Alan Bateman
430592a30e 7197491: update copyright year to match last edit in jdk8 jdk repository
Reviewed-by: chegar, ksrini
2012-11-02 15:50:11 +00:00
Lana Steuck
b8265239b8 Merge 2012-10-25 20:32:10 -07:00
Christian Thalinger
01d0ba69ce 8000989: smaller code changes to make future JSR 292 backports easier
Reviewed-by: jrose
2012-10-19 17:04:35 -07:00
John R Rose
0a735e76f6 7196190: Improve method of handling MethodHandles
Bind callers to caller-sensitive methods.

Reviewed-by: twisti, jjh, vlivanov, ahgross
2012-09-20 14:02:55 -07:00
Christian Thalinger
e48b871bdc 7194662: JSR 292: PermuteArgsTest times out in nightly test runs
Reviewed-by: kvn
2012-08-28 14:57:43 -07:00
John R Rose
9d9d7877aa 7191102: nightly failures after JSR 292 lazy method handle update (round 3)
Reviewed-by: twisti, kvn
2012-08-17 13:42:25 -07:00
Christian Thalinger
360d512854 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, mhaupt, forax
2012-07-24 10:47:44 -07:00
John R Rose
b9299f283f 7129034: VM crash with a field setter method with a filterArguments
Add null checks before unsafe calls that take a variable base reference; update unit tests

Reviewed-by: kvn, twisti
2012-07-12 00:11:35 -07:00
Abhijit Saha
5d202b67cc Merge 2012-05-21 15:13:13 -07:00
John R Rose
6b14cf6b82 7165628: Issues with java.lang.invoke.MethodHandles.Lookup
Base SecurityManager checks on either of Lookup.lookupClass or caller class; also clarify Lookup access checks.

Reviewed-by: twisti
2012-05-18 20:31:28 -07:00
James Melvin
d090606f36 7130404: [macosx] "os.arch" value should be "x86_64" for compatibility with Apple JDK6
On Mac OS X, align system property "os.arch" with Apple legacy JDKs.  Also, improve os.name string matching by using .contains() method instead of .startsWith(). This fix spans multiple repositories.

Reviewed-by: dcubed, phh, ohair, katleman
2012-04-16 18:09:53 -04:00
John R Rose
cec41c4c9d 7030453: JSR 292 ClassValue.get method is too slow
Implement ClassValue cooperatively with Class like ThreadLocal with Thread.

Reviewed-by: twisti, mduigou
2012-01-18 17:34:32 -08:00
John R Rose
ef856f2fe0 7117167: Misc warnings in java.lang.invoke and sun.invoke.*
Reviewed-by: smarks
2012-01-18 17:34:29 -08:00
Christian Thalinger
82266506f2 7109063: JSR 292: fix for 7085860 is incomplete
Reviewed-by: iveresov, alanb, jrose
2011-11-09 00:46:13 -08:00
Christian Thalinger
b8587b3878 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
2011-11-02 02:03:30 -07:00