private int countLockedObjects()

in core/src/main/java/com/jetbrains/sa/jdi/ObjectReferenceImpl.java [197:212]


    private int countLockedObjects(JavaThread jt, Oop obj) {
        int res = 0;
        JavaVFrame frame = jt.getLastJavaVFrameDbg();
        while (frame != null) {
            OopHandle givenHandle = obj.getHandle();
            for (Object monitor : JvmUtils.getFrameMonitors(frame)) {
                MonitorInfo mi = (MonitorInfo) monitor;
                if (mi.eliminated() && frame.isCompiledFrame()) continue; // skip eliminated monitor
                if (givenHandle.equals(mi.owner())) {
                    res++;
                }
            }
            frame = JvmUtils.getFrameJavaSender(frame);
        }
        return res;
    }