RFR(S): 8035396: Introduce accessor for tmp_oop in frame.
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.
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.
>>> #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.
>> Best regards,
>> -----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.
>> On 2/20/14 2:58 AM, Lindenmaier, Goetz wrote:
>>> 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
>>> 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;
>>> from frame.hpp into frame_ppc.hpp in the closed port.
>>> Please review and test this change.
>>> 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,
More information about the hotspot-dev