RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK
Christian Thalinger
christian.thalinger at oracle.com
Fri Mar 15 17:53:16 PDT 2013
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