RFR(S): 8035396: Introduce accessor for tmp_oop in frame.

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Feb 24 12:11:53 PST 2014


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 hotspot-dev mailing list