29 Commits

Author SHA1 Message Date
Vladimir Ivanov
ee23c1f412 8027823: catchException combinator fails with 9 argument target
Reviewed-by: jrose
2013-11-09 04:21:28 +04: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
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
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
Vladimir Ivanov
8e924e70a6 8024616: JSR292: lazily initialize core NamedFunctions used for bootstrapping
Reviewed-by: jrose
2013-09-18 20:12:05 +04: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
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
176ed8d94c 8010117: Annotate jdk caller sensitive methods with @sun.reflect.CallerSensitive
Reviewed-by: jrose, alanb, twisti
2013-04-16 21:39:52 -07: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
Christian Thalinger
d8b54b1219 8005345: JSR 292: JDK performance tweaks
Reviewed-by: kvn, jrose
2012-12-20 11:16:14 -08: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
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
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
Tom Rodriguez
50bc4343b3 7082631: JSR 292: need profiling support in GWTs
Add CountingMethodHandle

Reviewed-by: twisti, jrose
2011-09-07 21:05:24 -07: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
9acf4f0284 7052202: JSR 292: Crash in sun.invoke.util.ValueConversions.fillArray
Fix corner cases involving MethodHandles.permuteArguments with long or double argument lists.

Reviewed-by: twisti, never
2011-06-14 22:47:09 -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
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