66 ResolvedJavaField lookupJavaField(Field reflectionField); 67 68 /** 69 * Returns the resolved Java type of the given {@link JavaConstant} object. 70 * 71 * @return {@code null} if {@code constant.isNull() || !constant.kind.isObject()} 72 */ 73 ResolvedJavaType lookupJavaType(JavaConstant constant); 74 75 /** 76 * Returns the number of bytes occupied by this constant value or constant object. 77 * 78 * @param constant the constant whose bytes should be measured 79 * @return the number of bytes occupied by this constant 80 */ 81 long getMemorySize(JavaConstant constant); 82 83 /** 84 * Parses a 85 * <a href="http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3.3">method 86 * descriptor</a> into a {@link Signature}. The behavior of this method is undefined if the 87 * method descriptor is not well formed. 88 */ 89 Signature parseMethodDescriptor(String methodDescriptor); 90 91 /** 92 * Encodes a deoptimization action and a deoptimization reason in an integer value. 93 * 94 * @param debugId an integer that can be used to track the origin of a deoptimization at 95 * runtime. There is no guarantee that the runtime will use this value. The runtime 96 * may even keep fewer than 32 bits. 97 * 98 * @return the encoded value as an integer 99 */ 100 JavaConstant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, int debugId); 101 102 DeoptimizationReason decodeDeoptReason(JavaConstant constant); 103 104 DeoptimizationAction decodeDeoptAction(JavaConstant constant); 105 106 int decodeDebugId(JavaConstant constant); 107 } | 66 ResolvedJavaField lookupJavaField(Field reflectionField); 67 68 /** 69 * Returns the resolved Java type of the given {@link JavaConstant} object. 70 * 71 * @return {@code null} if {@code constant.isNull() || !constant.kind.isObject()} 72 */ 73 ResolvedJavaType lookupJavaType(JavaConstant constant); 74 75 /** 76 * Returns the number of bytes occupied by this constant value or constant object. 77 * 78 * @param constant the constant whose bytes should be measured 79 * @return the number of bytes occupied by this constant 80 */ 81 long getMemorySize(JavaConstant constant); 82 83 /** 84 * Parses a 85 * <a href="http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3.3">method 86 * descriptor</a> into a {@link Signature}. 87 * 88 * @throws IllegalArgumentException if the method descriptor is not well formed 89 */ 90 Signature parseMethodDescriptor(String methodDescriptor); 91 92 /** 93 * Encodes a deoptimization action and a deoptimization reason in an integer value. 94 * 95 * @param debugId an integer that can be used to track the origin of a deoptimization at 96 * runtime. There is no guarantee that the runtime will use this value. The runtime 97 * may even keep fewer than 32 bits. 98 * 99 * @return the encoded value as an integer 100 */ 101 JavaConstant encodeDeoptActionAndReason(DeoptimizationAction action, DeoptimizationReason reason, int debugId); 102 103 DeoptimizationReason decodeDeoptReason(JavaConstant constant); 104 105 DeoptimizationAction decodeDeoptAction(JavaConstant constant); 106 107 int decodeDebugId(JavaConstant constant); 108 } |