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

VM_GetOrSetLocal doesn't check local slot type against requested type

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 12
    • 9
    • hotspot
    • None
    • b20

      VM_GetOrSetLocal::doit() blindly loads/stores a value of requested type without checking slot type first.

      GetLocal* documenation says that JVMTI_ERROR_TYPE_MISMATCH should be returned if variable type differs from requested.

      It manifests as an assertion failure in debug builds:
        assert(type() == T_OBJECT) failed: type check

      StackValue::get_obj() const+0x47
      StackValueCollection::obj_at(int) const+0x23
      VM_GetOrSetLocal::doit()+0x572

            sspitsyn Serguei Spitsyn
            vlivanov Vladimir Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: