PING: RFR: JDK-8153743: AllocateHeap() and ReallocateHeap() should use ALWAYSINLINE macro
Yasumasa Suenaga
yasuenag at gmail.com
Mon Apr 25 12:11:42 UTC 2016
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 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