[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    Re: PING: RFR: JDK-8153743: AllocateHeap() and ReallocateHeap() should use ALWAYSINLINE macro
From:       Yasumasa Suenaga <yasuenag () gmail ! com>
Date:       2016-04-25 12:11:42
Message-ID: 9c53da39-08aa-6928-5cb0-5fd8ea2d0562 () gmail ! com
[Download RAW message or body]

Hi all,

Could you review and sponsor it?
I confirmed this patch can apply to jdk9/hs repos.

However, I checked this patch with GCC on Linux.
I cannot check with other compiler.

Also other compilers might need "inline" statement in ALWAYSINLINE macro.
So I want to hear whether this patch can work with other compilers.


Thanks,

Yasumasa


On 2016/04/16 1:10, Daniel D. Daugherty wrote:
> JDK9-hs and JDK9-hs-rt are currently locked down due to the merge.
> Please see the "Merging jdk9/hs-rt with jdk9/hs" e-mail thread on
> the hotspot-dev@openjdk.java.net alias.
> 
> Dan
> 
> 
> 
> On 4/15/16 7:28 AM, Yasumasa Suenaga wrote:
> > PING: Could you review and sponsor it?
> > 
> > > http://cr.openjdk.java.net/~ysuenaga/JDK-8153743/webrev.00/
> > Yasumasa
> > 
> > 
> > On 2016/04/07 23:13, Yasumasa Suenaga wrote:
> > > For force inlining, JDK-8076212 uses always_inline attribute to them.
> > > JDK-8151593 added ALWAYSINLINE macro for force inlining.
> > > 
> > > For consistency, and for other compiler support, AllocateHeap() and
> > > ReallocateHeap() should use ALWAYSINLINE.
> > > 
> > > I used ALWAYSINLINE to them, but I got error message as below;
> > > ------------------------------
> > > Building target 'images' in configuration 'linux-x86_64-normal-server-release'
> > > In file included from \
> > > /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/utilities/array.hpp:29:0, \
> > > from /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/memory/universe.hpp:29, \
> > > from /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/code/oopRecorder.hpp:28, \
> > > from /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/asm/codeBuffer.hpp:28, \
> > > from /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/asm/assembler.hpp:28, \
> > > from /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
> > >                 
> > > /home/ysuenaga/OpenJDK/hs-rt/hotspot/src/share/vm/memory/allocation.inline.hpp:72:20: \
> > > $B%(%i!<(B: always_inline function might not be inlinable \
> > > [-Werror=attributes] ALWAYSINLINE char* ReallocateHeap(char *old, size_t size, \
> > > MEMFLAGS flag, ^
> > > ------------------------------
> > > * This message includes Japanese because my environment is Japanese locale :-)
> > > 
> > > According to GCC manual [1], non-static inline function is always compiled
> > > on its own in the usual fashion.
> > > However, we can compile as inline function with "inline" and "always_inline".
> > > always_inline attribute does not imply inlining [2].
> > > GCC testcase [3] uses both "inline" and "always_inline" actually.
> > > 
> > > I uploaded webrev. Could you review it?
> > > http://cr.openjdk.java.net/~ysuenaga/JDK-8153743/webrev.00/
> > > 
> > > I cannot access JPRT.
> > > So I need a sponsor.
> > > 
> > > 
> > > Thanks,
> > > 
> > > Yasumasa
> > > 
> > > 
> > > [1] https://gcc.gnu.org/onlinedocs/gcc/Inline.html
> > > [2] https://chromiumcodereview.appspot.com/14820003/
> > > [3] https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/testsuite/gcc.dg/vmx/gcc-bug-i.c?view=markup&pathrev=178730
> > >  
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic