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

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/frameppc.inline.hpp? I will add that to the ppc64 frames file with all the changes required for the template interpreter. Okay

#if defined(CCINTERP) && !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 ccinterp? 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 interpreterframetempoopaddr() 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 tmpoop in frame. Hi, Goetz Why you did not add it to src/cpu/ppc/vm/frameppc.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(CCINTERP) && !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 tmpoop 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 interpreterframetempoopaddr() as for many other fields in the frame. Unfortunately this will require to implement interpreterframetempoopaddr() 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* interpreterframemirroraddr() const; #endif from frame.hpp into frameppc.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