RFR 8051398: jvmti tests fieldacc002, fieldmod002 fail in nightly with errors: (watch#0) wrong location
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Thu Jul 31 00:54:33 UTC 2014
On 7/30/14 5:49 PM, Coleen Phillimore wrote:
>
> Thank you, Serguei! I thought the code removed was something
> cut/pasted from post_field_modification, which does something for each
> case. I thought it looked strange because it has all cases except
> vtos, so essentially it's asserting that the cpCache doesn't get
> initialized to void for getfield, which should be asserted somewhere
> else if it's a useful test. It was visual noise.
Agreed.
Thanks,
Serguei
>
> Thanks!
> Coleen
>
>
> On 7/30/14, 7:28 PM, serguei.spitsyn at oracle.com wrote:
>> Coleen,
>>
>> The fix looks good to me.
>> I only had the same minor comments that Dan already asked below.
>> The code removed in the interpreterRuntime.cpp looks like an assert
>> but I'm not sure how useful it is.
>>
>> Thanks,
>> Serguei
>>
>> On 7/30/14 1:20 PM, Coleen Phillimore wrote:
>>>
>>> On 7/30/14, 3:58 PM, Daniel D. Daugherty wrote:
>>>> On 7/30/14 1:20 PM, Coleen Phillimore wrote:
>>>>> Summary: Didn't handle NULL bcp for native methods
>>>>>
>>>>> bcp is set to NULL in the interpreter frame for native methods.
>>>>> x86 generate_native_entry() contains a call_VM that sets the bcp
>>>>> address to the beginning of code, but sparc doesn't. I don't
>>>>> think ppc does either. The code I changed, doesn't handle a null
>>>>> bcp which post_field_access and post_field_modification tests call
>>>>> from JNI for a native method.
>>>>>
>>>>> open webrev at http://cr.openjdk.java.net/~coleenp/8051398/
>>>>
>>>> src/share/vm/interpreter/interpreterRuntime.cpp
>>>> I'm not seeing the reason for the code deletion here.
>>>> Just re-read the bug and I'm still not seeing it.
>>>> Could be that I've been away from this code for too long.
>>>
>>> I was debugging this and found this useless piece of code, so while
>>> not directly related to the cause of the bug, it was in the path of
>>> the bug.
>>>>
>>>> src/share/vm/oops/method.hpp
>>>> line 652: address bcp_from(address bci) const;
>>>> Should the prototype parameter name be 'bcp' instead
>>>> of 'bci' since the type is address?
>>>>
>>>
>>> You're right. I will make that bcp.
>>>> src/share/vm/oops/method.cpp
>>>> line 287: if (is_native() && bcp == 0) {
>>>> line 288: return code_base() + (intptr_t)bcp;
>>>> Why add '(intptr_t)bcp' since you know it is zero?
>>>>
>>>
>>> True. I don't need to add bcp. That saves a cast.
>>>
>>> Thanks!
>>> Coleen
>>>
>>>> src/share/vm/runtime/frame.cpp
>>>> No comments.
>>>>
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>>> bug link https://bugs.openjdk.java.net/browse/JDK-8051398
>>>>>
>>>>> Tested with jck vm/jvmti, jtreg, and NSK internal tests. No test
>>>>> added because there's a test that already tests this.
>>>>>
>>>>> Thanks,
>>>>> Coleen
>>>>>
>>>>>
>>>>
>>>
>>
>
More information about the hotspot-dev
mailing list