PING: RFR: JDK-8153743: AllocateHeap() and ReallocateHeap() should use ALWAYSINLINE macro

David Holmes david.holmes at oracle.com
Wed May 4 02:10:18 UTC 2016


On 25/04/2016 10:11 PM, Yasumasa Suenaga wrote:
> 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.

I'm running it through our build system.

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

I don't have any input on this - sorry.

David
-----

>
> 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 at 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:
>>>> エラー: 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
>>>>
>>>>
>>


More information about the hotspot-runtime-dev mailing list