RFR: 8204540: Automatic oop closure devirtualization
kim.barrett at oracle.com
Thu Jun 21 20:22:48 UTC 2018
> On Jun 21, 2018, at 2:39 PM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
> On 2018-06-21 18:18, Kim Barrett wrote:
>>> On Jun 21, 2018, at 5:44 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
>>> Hi Kim,
>>> Thanks for reviewing this!
>>> Updated webrevs:
>> Looks good, other than a few tiny nits. I don't need another webrev.
> Thanks. Here's one anyway:
>>> I think we can get what you are looking for by changing 'virtual void do_oop(oop* p)' to 'inline virtual void do_oop(oop* p)'. I'm not sure this should be done for this RFE, though?
>> I’m fine with deferring. We can discuss offline. I’m curious about the compile error.
> diff --git a/src/hotspot/share/gc/shared/aaaa.cpp b/src/hotspot/share/gc/shared/aaaa.cpp
> new file mode 100644
> --- /dev/null
> +++ b/src/hotspot/share/gc/shared/aaaa.cpp
> $ bash /home/stefank/hg/jdk/jdk/build/slowdebug/hotspot/variant-server/libjvm/objs/aaa.o.cmdline
> In file included from /home/stefank/hg/jdk/jdk/open/src/hotspot/share/gc/z/aaa.cpp:2:0:
> /home/stefank/hg/jdk/jdk/open/src/hotspot/share/gc/shared/genOopClosures.hpp:118:34: error: inline function 'void ScanClosure::do_oop_work(T*) [with T = oopDesc*]' used but never defined [-Werror]
> template <class T> inline void do_oop_work(T* p);
> /home/stefank/hg/jdk/jdk/open/src/hotspot/share/gc/shared/genOopClosures.hpp:118:34: error: inline function 'void ScanClosure::do_oop_work(T*) [with T = unsigned int]' used but never defined [-Werror]
> cc1plus: all warnings being treated as errors
Drat! I might look at this later, but this seems like it makes what I was suggesting just not work.
More information about the hotspot-dev