RFR [9] 8141615: Add new public methods to sun.reflect.ConstantPool

Konstantin Shefov konstantin.shefov at oracle.com
Tue Nov 24 14:49:42 UTC 2015


Hello

Please, review modified webrev.

I have added methods
getNameAndTypeRefIndexAt(int index) - to get name and type entry index 
from a method, field or indy entry index;
getClassRefIndexAt(int index) - to get class entry index from a method 
or field entry index;

I removed previously added method
getInvokedynamicRefInfoAt(int index) - as it is no more needed now.

New webrev:
Webrev hotspot: 
http://cr.openjdk.java.net/~kshefov/8141615/hotspot/webrev.01
Webrev jdk: http://cr.openjdk.java.net/~kshefov/8141615/jdk/webrev.01

Thanks
-Konstantin

On 11/18/2015 02:11 PM, Konstantin Shefov wrote:
> Remi,
>
> Thanks for reviewing. Your suggestion sounds sensibly.
> May be it also has sense to make a method 
> "getMethodRefNameAndTypeIndex(int index)" to acquire name-and-type 
> entry index for methods also.
>
> -Konstantin
>
> On 11/18/2015 12:04 AM, Remi Forax wrote:
>> Hi Konstantin,
>> Technically, getInvokedynamicRefInfoAt should be 
>> getNameAndTypeOfInvokedynamicRefInfoAt because it only extract the 
>> nameAndType value of the InvokeDynamicRef.
>>
>> In term of API, I think it's better to decompose the API, i.e. to 
>> have a method
>>    int getInvokedynamicRefNameAndTypeIndex(int index)
>> that returns the nameAndType index and to reuse 
>> getNameAndTypeRefInfoAt(index) to get the corresponding array of 
>> Strings.
>>
>> cheers,
>> Rémi
>>
>> ----- Mail original -----
>>> De: "Christian Thalinger" <christian.thalinger at oracle.com>
>>> À: "Konstantin Shefov" <konstantin.shefov at oracle.com>
>>> Cc: "hotspot-dev developers" <hotspot-dev at openjdk.java.net>, 
>>> core-libs-dev at openjdk.java.net
>>> Envoyé: Lundi 16 Novembre 2015 23:41:45
>>> Objet: Re: RFR [9] 8141615: Add new public methods to 
>>> sun.reflect.ConstantPool
>>>
>>> [CC'ing core-libs-dev]
>>>
>>>> On Nov 13, 2015, at 4:55 AM, Konstantin Shefov
>>>> <konstantin.shefov at oracle.com> wrote:
>>>>
>>>> Hello
>>>>
>>>> Please review an enhancement to add three new methods to
>>>> sun.reflect.ConstantPool class.
>>>> The following methods are suggested:
>>>>
>>>> public String[] getNameAndTypeRefInfoAt(int index) - returns string
>>>> representation of name and type from a NameAndType constant pool entry
>>>> with the specified index
>>>>
>>>> public String[] getInvokedynamicRefInfoAt(int index) - returns string
>>>> representation of name and type from an InvokeDynamic constant pool 
>>>> entry
>>>> with the specified index
>>>>
>>>> public Tag getTagAt(int index) - returns a Tag enum instance of a 
>>>> constant
>>>> pool entry with the specified index
>>>>
>>>> These three methods could be used for testing API working with 
>>>> constant
>>>> pool, e.g. JVMCI.
>>>>
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8141615
>>>> Webrev hotspot:
>>>> http://cr.openjdk.java.net/~kshefov/8141615/hotspot/webrev.00
>>>> Webrev jdk: http://cr.openjdk.java.net/~kshefov/8141615/jdk/webrev.00
>>>>
>>>> Thanks
>>>> -Konstantin
>>>
>




More information about the core-libs-dev mailing list