RFR(S): 8035396: Introduce accessor for tmp_oop in frame.
Vladimir Kozlov
vladimir.kozlov at oracle.com
Mon Feb 24 15:31:25 PST 2014
If you are suggesting to move all definitions (for C++ and template
interpreter) of interpreter_frame_temp_oop_addr() into platform specific
files, I agree with that.
Thanks,
Vladimir
On 2/24/14 12:11 PM, Vladimir Kozlov wrote:
> On 2/22/14 9:24 AM, Lindenmaier, Goetz wrote:
>> Hi Vladimir,
>>
>>> Why you did not add it to src/cpu/ppc/vm/frame_ppc.inline.hpp?
>> I will add that to the ppc64 frames file with all the
>> changes required for the template interpreter.
>
> Okay
>
>>
>>> #if defined(CC_INTERP) && !defined(PPC32)
>> If we need another test for platform here, shouldn't
>> we put it into the platform files, too?
>> Is there a ppc32 with cc_interp?
>
> I can't say but if you look on the original code in frame.cpp the code
> for ppc32 executed for both C++ and template interpreter. It is
> different from interpreter_frame_temp_oop_addr() defined now in
> frame.inline.hpp. And we can't redefine it in platform specific file
> since it is the same scope.
>
> Thanks,
> Vladimir
>
>>
>> Best regards,
>> Goetz.
>>
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
>> Sent: Saturday, February 22, 2014 2:39 AM
>> To: Lindenmaier, Goetz; hotspot-dev at openjdk.java.net;
>> ppc-aix-port-dev at openjdk.java.net
>> Subject: Re: RFR(S): 8035396: Introduce accessor for tmp_oop in frame.
>>
>> Hi, Goetz
>>
>> Why you did not add it to src/cpu/ppc/vm/frame_ppc.inline.hpp?
>> I know that ppc use C++ Interpreter in our sources but you will need it
>> anyway later.
>>
>> The code in frame.inline.hpp should be also guarded with !PPC32:
>>
>> #if defined(CC_INTERP) && !defined(PPC32)
>>
>> Changes look reasonable. I did closed changes and it is working. I am
>> testing it in JPRT now.
>>
>> Thanks,
>> Vladimir
>>
>> On 2/20/14 2:58 AM, Lindenmaier, Goetz wrote:
>>> Hi,
>>>
>>> Access to the tmp_oop in a frame is done with several #ifdefs
>>> distinguishing the platforms and interpreters. The PPC64 template
>>> interpreter would introduce another one.
>>>
>>> This change avoids the #ifs by introducing the accessor function
>>> interpreter_frame_temp_oop_addr() as for many other fields in the frame.
>>>
>>> Unfortunately this will require to implement
>>> interpreter_frame_temp_oop_addr()
>>> in the closed sources I can not do. As the platform file for
>>> frame.hpp has
>>> to be changed anyways, I propose to also move
>>> #ifdef PPC32
>>> oop* interpreter_frame_mirror_addr() const;
>>> #endif
>>> from frame.hpp into frame_ppc.hpp in the closed port.
>>>
>>> Please review and test this change.
>>>
>>> http://cr.openjdk.java.net/~goetz/webrevs/8035396-1-tmpOop/
>>>
>>> This change should also go to jdk8u. It's fine if this happens some
>>> later if the path via ppc-aix-port/stage is not possible due
>>> to the closed change.
>>>
>>> Best regards,
>>>
>>> Goetz.
>>>
More information about the ppc-aix-port-dev
mailing list