RFR: 8258961: devirtualize SafePointNode::jvms()

Xin Liu xliu at openjdk.java.net
Fri Jan 8 17:32:56 UTC 2021


On Wed, 6 Jan 2021 09:30:37 GMT, Xin Liu <xliu at openjdk.org> wrote:

>> @navyxliu There is a title mismatch between the PR and the JBS issue that you need to fix before integration.
>
> Yes, I did modify the JBS title. I found it's hard to hide out _jvms because offset_of(klass, field) needs to access the field. 
> 
> I plan to see if we can use template metaprogramming or constexpr to workaround it(https://gist.github.com/graphitemaster/494f21190bb2c63c5516). I will file a separate issue if I figure out how.

I found Node::jvms() is virtual, so it's useless to remove keyword "virtual" in SafePointNode::jvms(). I need another revision to fix it.  

Paul asked me to hide away those public fields into protected. I discover a straightforward solution --  just declare friend class VMStructs. Other classes do that.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1899


More information about the hotspot-compiler-dev mailing list