comparison jvmci/jdk.vm.ci.meta/src/jdk/vm/ci/meta/MethodHandleAccessProvider.java @ 23342:c8df6d6c23f7

fixed javadoc for methods in MethodHandleAccessProvider to describe exceptions thrown (JDK-8152021, JDK-8152022, JDK-8152023)
author Doug Simon <doug.simon@oracle.com>
date Wed, 30 Mar 2016 16:25:12 +0200
parents 4b58c92e939b
children 3e8ce13f4e12
comparison
equal deleted inserted replaced
23341:67c84a8b19cc 23342:c8df6d6c23f7
49 } 49 }
50 50
51 /** 51 /**
52 * Returns the method handle method intrinsic identifier for the provided method, or 52 * Returns the method handle method intrinsic identifier for the provided method, or
53 * {@code null} if the method is not an intrinsic processed by this interface. 53 * {@code null} if the method is not an intrinsic processed by this interface.
54 *
55 * @throws NullPointerException if {@code method} is null
54 */ 56 */
55 IntrinsicMethod lookupMethodHandleIntrinsic(ResolvedJavaMethod method); 57 IntrinsicMethod lookupMethodHandleIntrinsic(ResolvedJavaMethod method);
56 58
57 /** 59 /**
58 * Resolves the invocation target for an invocation of {@link IntrinsicMethod#INVOKE_BASIC 60 * Resolves the invocation target for an invocation of {@link IntrinsicMethod#INVOKE_BASIC
61 * <p> 63 * <p>
62 * The first invocations of a method handle can use an interpreter to lookup the actual invoked 64 * The first invocations of a method handle can use an interpreter to lookup the actual invoked
63 * method; frequently executed method handles can use Java bytecode generation to avoid the 65 * method; frequently executed method handles can use Java bytecode generation to avoid the
64 * interpreter overhead. If the parameter forceBytecodeGeneration is set to true, the VM should 66 * interpreter overhead. If the parameter forceBytecodeGeneration is set to true, the VM should
65 * try to generate bytecodes before this method returns. 67 * try to generate bytecodes before this method returns.
68 *
69 * @returns {@code null} if {@code methodHandle} is not a {@link MethodHandle} or the invocation
70 * target is not available at this time
71 * @throws NullPointerException if {@code methodHandle} is null
66 */ 72 */
67 ResolvedJavaMethod resolveInvokeBasicTarget(JavaConstant methodHandle, boolean forceBytecodeGeneration); 73 ResolvedJavaMethod resolveInvokeBasicTarget(JavaConstant methodHandle, boolean forceBytecodeGeneration);
68 74
69 /** 75 /**
70 * Resolves the invocation target for an invocation of a {@code MethodHandle.linkTo*} method 76 * Resolves the invocation target for an invocation of a {@code MethodHandle.linkTo*} method
71 * with the given constant member name. The member name is the last parameter of the 77 * with the given constant member name. The member name is the last parameter of the
72 * {@code linkTo*} method. Returns {@code null} if the invocation target is not available at 78 * {@code linkTo*} method.
73 * this time. 79 *
80 * @returns {@code null} if the invocation target is not available at this time
81 * @throws NullPointerException if {@code memberName} is null
82 * @throws IllegalArgumentException if {@code memberName} is not a
83 * {@code java.lang.invoke.MemberName}
74 */ 84 */
75 ResolvedJavaMethod resolveLinkToTarget(JavaConstant memberName); 85 ResolvedJavaMethod resolveLinkToTarget(JavaConstant memberName);
76 } 86 }