Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8280901

MethodHandle::linkToNative stub is missing w/ -Xint

XMLWordPrintable

    • b12

        Lots of java/foreign testd crash when run in -Xint. For example, this one:

        $ CONF=linux-x86_64-server-fastdebug make run-test TEST=java/foreign/TestDowncall.java TEST_VM_OPTS="-Xint"

        STDOUT:
        STDERR:

        TEST RESULT: Failed. Unexpected exit from test [exit code: 139]
        --------------------------------------------------

        The crash produces no hs_err, and debugging is quite complicated, but I think the crash is somewhere within C2I adapter for LJJL shape.

        AHE@0x00007fb9a0486750: 0xbbebeb i2c: 0x00007fb995284ee0 c2i: 0x00007fb995284fcc c2iUV: 0x00007fb995284f96 c2iNCI: 0x00007fb995285009
        i2c argument handler #218 for: LJJL 0xbbebeb (606 bytes generated)
        c2i argument handler starts at 0x7fb995284fcc

          0x00007fb9952850f6: popfq
          0x00007fb9952850f7: mov %r13,%rsp
          0x00007fb9952850fa: pop %rax
          0x00007fb9952850fb: mov %rsp,%r13
          0x00007fb9952850fe: sub $0x40,%rsp
          0x00007fb995285102: mov %rax,(%rsp) ;<---- somewhere here
          0x00007fb995285106: mov %rsi,0x30(%rsp)
          0x00007fb99528510b: movabs $0xdeadffffdeadaaab,%rax
          0x00007fb995285115: mov %rax,0x28(%rsp)

        Reading the code, I stumbled upon:

        address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler* _masm,
                                                                        vmIntrinsics::ID iid) {
        ...
          // No need in interpreter entry for linkToNative for now.
          // Interpreter calls compiled entry through i2c.
          if (iid == vmIntrinsics::_linkToNative) {
            __ hlt();
            return NULL;
          }
        ...
        }

        I wonder if that is too optimistic when no compilers present?

              vlivanov Vladimir Ivanov
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: