RFR(XS): 8191787 - move private inline functions from thread.inline.hpp -> thread.cpp

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Nov 30 21:33:34 UTC 2017


Hi David,

Thanks for looking at this again!


On 11/30/17 4:24 PM, David Holmes wrote:
> Hi Dan,
>
> May I suggest simply moving all of the inline smr functions to the 
> same position, after all the field initializations, so that it is 
> hopefully more evident that they appear before any use.

I'm in my pre-integration Mach5 tier[12] test cycle so I wasn't planning
on any more tweaks for this bug. Can I pick up this change in my next
code motion fix (8191789)? This fix (8191787) will likely make Jesper's
snapshot on 12.01. My next fix will not...


> My layperson understanding - perhaps out of date in 2017 - is that to 
> inline a function the compiler has to have already seen the definition.

I was hoping for someone else to jump in to confirm or deny, but
that hasn't happened. That's why I went ahead and moved the one
inline definition before its first use... All other inline defs
are before first use (but it is not obvious).

Dan


>
> Thanks,
> David
>
> On 1/12/2017 1:49 AM, Daniel D. Daugherty wrote:
>> Greetings,
>>
>> I have updated the fix based on Coleen's and David H's code reviews.
>>
>> Delta webrev:
>>
>> http://cr.openjdk.java.net/~dcubed/8191787-webrev/jdk10-1-delta/
>>
>> Full webrev:
>>
>> http://cr.openjdk.java.net/~dcubed/8191787-webrev/jdk10-1-full/
>>
>> Thanks, in advance, for any comments, questions or suggestions.
>>
>> Dan
>>
>> On 11/29/17 4:16 PM, Daniel D. Daugherty wrote:
>>> Greetings,
>>>
>>> Coleen, this is one of your Thread-SMR follow-up suggestions so I need
>>> to hear from you on this thread. Thanks!
>>>
>>> I have a simple cleanup fix for Thread-SMR. The bug is:
>>>
>>>     JDK-8191787 move private inline functions from thread.inline.hpp 
>>> -> thread.cpp
>>>     https://bugs.openjdk.java.net/browse/JDK-8191787
>>>
>>> This fix is pure code motion:
>>>
>>> - moving inline functions from thread.inline.hpp -> thread.cpp
>>> - making a few functions in thread.hpp private instead of public
>>>
>>> Here is the webrev URL:
>>>
>>> http://cr.openjdk.java.net/~dcubed/8191787-webrev/jdk10-0
>>>
>>> This fix was (over) tested with a Mach5 tier[1-5] run. There were no
>>> unexpected test failures.
>>>
>>> Thanks, in advance, for any comments, questions or suggestions.
>>>
>>> Dan
>>>
>>



More information about the hotspot-runtime-dev mailing list