40 Commits

Author SHA1 Message Date
Roger Riggs
056189cbbe 8026183: minor documentation problems in java.lang.invoke
8015808: Typo in MethodHandle javadoc

Fix typos and javadoc markup and extraneous paragraph tags

Reviewed-by: lancea
2013-10-17 13:43:46 -04:00
Chris Hegarty
766e77499d Merge 2013-10-15 09:27:32 +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
John R Rose
62ee211c8d 8024761: JSR 292 improve performance of generic invocation
Use a per-MH one element cache for MH.asType to speed up MH.invoke; also cache enough MH constants to cache LMF.metafactory

Reviewed-by: twisti
2013-10-05 05:30:38 -07:00
Chris Hegarty
6088b141e2 Merge 2013-10-03 19:06:43 +01: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
Chris Hegarty
1bdfa7bf9f Merge 2013-07-25 19:03:29 +01:00
Mandy Chung
bd41c425d2 8017196: Ensure Proxies are handled appropriately
Reviewed-by: dfuchs, jrose, jdn, ahgross, chegar
2013-07-22 19:41:07 -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
Joe Darcy
0e32f67d95 8019357: Fix doclint warnings in java.lang.invoke
Reviewed-by: jrose
2013-06-27 19:02:02 -07:00
Chris Hegarty
5864e2de68 Merge 2013-06-17 11:26:16 +01:00
Alan Bateman
451a0034a1 8016217: More javadoc warnings
Reviewed-by: lancea, chegar, psandoz
2013-06-10 12:58:32 +01:00
Christian Thalinger
94bc7320f8 8009424: Restrict publicLookup with additional checks
Reviewed-by: vlivanov, jdn
2013-05-08 12:09:35 -07:00
Mandy Chung
176ed8d94c 8010117: Annotate jdk caller sensitive methods with @sun.reflect.CallerSensitive
Reviewed-by: jrose, alanb, twisti
2013-04-16 21:39:52 -07:00
Vladimir Ivanov
fbc6f854cd 8008140: Better method handle resolution
Reviewed-by: jrose, twisti, jdn
2013-03-01 04:45:12 +04:00
Edvard Wendelin
7ecb0fd433 Merge 2013-02-26 20:36:52 +01: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
Vladimir Ivanov
98e5a4b393 8006439: Improve MethodHandles coverage
Reviewed-by: jrose, twisti
2013-02-22 03:00:48 -08: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
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
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
John R Rose
1c49ad8a03 7077803: java.lang.InternalError in java.lang.invoke.MethodHandleNatives.init
Use correct access token for unreflecting MHs where setAccessible(true)

Reviewed-by: never, twisti
2012-01-18 17:34:30 -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
John R Rose
ee85a30479 6983728: JSR 292 remove argument count limitations
Remove workarounds and limitations from before 6939861.

Reviewed-by: never
2011-07-16 15:47:53 -07:00
John R Rose
f32795386e 7050328: (jsr-292) findConstructor throws ExceptionInInitializerError if run under SecurityManager
Wrap system property and reflection accesses under doPrivileged.  Ensure constant pool linkage bypasses the SM as specified.

Reviewed-by: kvn, never
2011-06-01 23:56:47 -07:00
John R Rose
025d0aead8 7032323: code changes for JSR 292 EG adjustments to API, through Public Review
API code changes and javadoc changes following JSR 292 Public Review comments, through PFD

Reviewed-by: never
2011-05-26 17:37:36 -07:00
John R Rose
8bb387d77e 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one
Point-fixes for 7038847, 7038860, 7042656, 7042829, 7041853, and several other reports

Reviewed-by: never, kvn
2011-05-17 19:48:19 -07:00
John R Rose
4b011923e2 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called
Implement invocation corner cases, including correct type conversions and interface type enforcement.

Reviewed-by: never
2011-05-17 19:48:14 -07:00
John R Rose
9a58e303d7 6939861: JVM should handle more conversion operations
Integrate JDK code with JVM-supplied ricochet frames.

Reviewed-by: never, twisti
2011-05-12 19:27:49 -07:00
John R Rose
eb9632506b 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke
Rename invokeGeneric to invoke

Reviewed-by: never, twisti
2011-05-12 19:27:33 -07:00
John R Rose
3718824e69 7012648: move JSR 292 to package java.lang.invoke and adjust names
Package and class renaming only; delete unused methods and classes; add @since tags; no code changes

Reviewed-by: twisti
2011-03-23 23:02:31 -07:00