JVM interface header src location?

David Holmes david.holmes at oracle.com
Fri Jan 12 23:57:27 UTC 2018


On 12/01/2018 7:03 PM, Andrew Leonard wrote:
> Thanks for the feedback David. I agree with your point, and understand 
> JVM implementors are really just hotspot imitators(!) :-)
> It would be as a convenience to 3rd party JVM implementors, and ease the 
> job of extracting just those necessary files...

After some further internal discussions it was decided that as jvm*.h is 
really the exported hotspot interface (as previously discussed when the 
files were combined and relocated) that it belongs in the hotspot src 
directory.

David
-----

> Cheers
> Andrew
> 
> Andrew Leonard
> Java Runtimes Development
> IBM Hursley
> IBM United Kingdom Ltd
> Phone internal: 245913, external: 01962 815913
> internet email: andrew_m_leonard at uk.ibm.com
> 
> 
> 
> 
> From: David Holmes <david.holmes at oracle.com>
> To: Andrew Leonard <andrew_m_leonard at uk.ibm.com>, 
> hotspot-dev at openjdk.java.net
> Date: 11/01/2018 22:01
> Subject: Re: JVM interface header src location?
> ------------------------------------------------------------------------
> 
> 
> 
> Hi Andrew,
> 
> On 12/01/2018 1:34 AM, Andrew Leonard wrote:
>  > Hi, with the new repo consolidation in JDK10+ the JVM interface headers
>  > (jvm.h and jvm_md.h) have moved from under
>  > jdk/src/java.base/share|<OS>/native/include/ to
>  >      src/hotspot/share/include/jvm.h
>  >      src/hotspot/os/windows/include/jvm_md.h
>  >      src/hotspot/os/posix/include/jvm_md.h
>  > This implies these are "hotspot" headers, when they are actually generic
> 
> I wouldn't call them generic. They define the API that hotspot provides
> for use by the JDK. The JDK in turn is written to use whatever hotspot
> exports. Now we can treat that as a de-facto generic definition of what
> any VM that works with the JDK needs to provide, but it would be wrong
> to pretend/assume that this is somehow some nice clean abstract
> interface between the JDK and any VM.
> 
> In short any VM you want to plug into the JDK has to impersonate hotspot
> from this API perspective.
> 
>  > JVM interface definitions. So for example if previously a 3rd party JVM
>  > implementor (eg.Eclipse OpenJ9) who does not clone the hotspot repo, and
>  > now does not clone the hotspot "folder", will now fail to find these
>  > generic headers...
> 
> Right ... it would have been good to have gotten some feedback on this
> when we did the file consolidation work:
> 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8189610&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=NaV8Iy8Ld-vjpXZFDdTbgGlRTghGHnwM75wUPd5_NUQ&m=cmDyJIWgzK0nr0h1WHwc0TKtWEAPcz8g_pN-h1eSKEQ&s=VgwZL88Bpwz77SYajN1T2qt0yfLDzC0WRgTczBJtzSw&e=
> 
> and then relocation:
> 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8190484&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=NaV8Iy8Ld-vjpXZFDdTbgGlRTghGHnwM75wUPd5_NUQ&m=cmDyJIWgzK0nr0h1WHwc0TKtWEAPcz8g_pN-h1eSKEQ&s=fED9Yhb2hFGVHbWqOIrtjZsOSvhU7FDmv_SwI5ay3nM&e=
> 
>  > Wouldn't it be better for these headers to be under some generic "jvm" or
>  > "base" include folder?
> 
> It would solve your problem. :) And I'm not opposed to moving them as a
> convenience to you. My main concern would be that this is not seen as a
> supported, exported, external contract between the JDK libraries and any
> VM. I would still consider it a private interface between the JDK and
> hotspot that changes whenever hotspot (or the JDK) needs it to.
> 
> Cheers,
> David
> 
>  > Thanks
>  > Andrew
>  >
>  > Andrew Leonard
>  > Java Runtimes Development
>  > IBM Hursley
>  > IBM United Kingdom Ltd
>  > Phone internal: 245913, external: 01962 815913
>  > internet email: andrew_m_leonard at uk.ibm.com
>  >
>  > Unless stated otherwise above:
>  > IBM United Kingdom Limited - Registered in England and Wales with number
>  > 741598.
>  > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
> PO6 3AU
>  >
> 
> 
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


More information about the hotspot-dev mailing list