RFR(XS): 8043264: hsdis library not picked up correctly on expected paths

Krystal Mok rednaxelafx at gmail.com
Sun May 18 02:04:21 UTC 2014


Hi Serguei,

Thank you very much!

Best regards,
Kris

On Friday, May 16, 2014, serguei.spitsyn at oracle.com <
serguei.spitsyn at oracle.com> wrote:

>  Kris,
>
> I've submitted the jprt job:
>   2014-05-17-060826.sspitsyn.hotspot
>
> Thanks,
> Serguei
>
> On 5/16/14 3:38 PM, Krystal Mok wrote:
>
> Thank you, Serguei!
>
>  BTW, Could you or Staffan sponsor this change and help me push it?
>
>  Best regards,
> Kris
>
>
>  On Fri, May 16, 2014 at 3:20 PM, serguei.spitsyn at oracle.com <
> serguei.spitsyn at oracle.com> wrote:
>
>   On 5/15/14 1:19 PM, Krystal Mok wrote:
>
> Hi everyone,
>
>  May I have a couple of review for this small patch, please?
>
>  *Bug*: https://bugs.openjdk.java.net/browse/JDK-8043264
>
>  *Patch*: (against jdk9/hs)
>
>  diff -r 466b58fa837b src/share/vm/compiler/disassembler.cpp
> --- a/src/share/vm/compiler/disassembler.cpp Thu May 15 11:35:26 2014
> -0700
> +++ b/src/share/vm/compiler/disassembler.cpp Thu May 15 13:14:58 2014
> -0700
> @@ -86,7 +86,7 @@
>    {
>      // Match "jvm[^/]*" in jvm_path.
>      const char* base = buf;
> -    const char* p = strrchr(buf, '/');
> +    const char* p = strrchr(buf, *os::file_separator());
>      if (p != NULL) lib_offset = p - base + 1;
>      p = strstr(p ? p : base, "jvm");
>      if (p != NULL)  jvm_offset = p - base;
> @@ -111,7 +111,7 @@
>      if (_library == NULL) {
>        // 3. <home>/jre/lib/<arch>/hsdis-<arch>.so
>        buf[lib_offset - 1] = '\0';
> -      const char* p = strrchr(buf, '/');
> +      const char* p = strrchr(buf, *os::file_separator());
>        if (p != NULL) {
>           lib_offset = p - buf + 1;
>          strcpy(&buf[lib_offset], hsdis_library_name);
>
>
>  The fix looks good.
>
> Thanks,
> Serguei
>
>
>
>  *Description*:
>
>  (Copied from the bug)
>
>  On Windows, the hsdis library isn't picked up correctly in all expected
> paths described in Disassembler::load_library():
>
>    // Find the disassembler shared library.
>   // Search for several paths derived from libjvm, in this order:
>   // 1. <home>/jre/lib/<arch>/<vm>/libhsdis-<arch>.so (for c
>
>


More information about the hotspot-runtime-dev mailing list