RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK
Christian Thalinger
christian.thalinger at oracle.com
Fri Mar 15 18:08:12 PDT 2013
On Mar 15, 2013, at 6:04 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> Good.
Thank you, Vladimir. -- Chris
>
> Vladimir
>
> On 3/15/13 5:53 PM, Christian Thalinger wrote:
>>
>> On Mar 15, 2013, at 3:08 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>
>>> Why do you need a switch in next code in LibraryCallKit::inline_native_Reflection_getCallerClass()?
>>> I don't think you need to match JVM_GetCallerClass code one-to-one. You don't have =0 case and the check for =1 could be done before loop. It will simplify code.
>>
>> Yes it would but I want to keep the code as similar as possible to make future changes easier. If I could I would factor the code to a method but that doesn't work very well. I'd like to keep it as it is.
>>
>>>
>>> Adjust next comment to reference JVM_GetCallerClass:
>>>
>>> // Frame 0 and 1 must be caller sensitive (see JVM_GetCallerClass)
>>
>> There is a comment right before the loop:
>>
>> // Cf. JVM_GetCallerClass
>>
>> but I can add this one too.
>>
>>>
>>>
>>> I think in JVM_GetCallerClass() you can use intrinsic_id:
>>>
>>> m->intrinsic_id() == vmIntrinsics::_getCallerClass
>>
>> You're right. I missed that. Then I can undo the reflect_Reflection_klass change.
>>
>> The webrev is updated:
>>
>> http://cr.openjdk.java.net/~twisti/7198429/
>>
>> -- Chris
>>
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 3/14/13 8:31 PM, Christian Thalinger wrote:
>>>> [This is the HotSpot part of JEP 176]
>>>>
>>>> http://cr.openjdk.java.net/~twisti/7198429
>>>>
>>>> 7198429: need checked categorization of caller-sensitive methods in the JDK
>>>> Reviewed-by:
>>>>
>>>> More information in JEP 176:
>>>>
>>>> http://openjdk.java.net/jeps/176
>>>>
>>>> src/share/vm/ci/ciMethod.cpp
>>>> src/share/vm/ci/ciMethod.hpp
>>>> src/share/vm/classfile/classFileParser.cpp
>>>> src/share/vm/classfile/classFileParser.hpp
>>>> src/share/vm/classfile/javaClasses.hpp
>>>> src/share/vm/classfile/systemDictionary.hpp
>>>> src/share/vm/classfile/vmSymbols.hpp
>>>> src/share/vm/oops/method.cpp
>>>> src/share/vm/oops/method.hpp
>>>> src/share/vm/opto/library_call.cpp
>>>> src/share/vm/prims/jvm.cpp
>>>> src/share/vm/prims/methodHandles.cpp
>>>> src/share/vm/prims/unsafe.cpp
>>>> src/share/vm/runtime/vframe.cpp
>>>> src/share/vm/runtime/vframe.hpp
>>>>
>>
More information about the hotspot-dev
mailing list