8186018: SA: Monitor Cache Dump in HSDB does not work

Reviewed-by: dholmes, dcubed
This commit is contained in:
Yasumasa Suenaga 2017-08-09 21:08:35 -04:00
parent 2d67cafe0c
commit ba635a7b52

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -108,13 +108,16 @@ public class ObjectSynchronizer {
public Object next() {
Address addr;
if (index > 0) {
addr = blockAddr.addOffsetTo(index*objectMonitorTypeSize);
} else {
if (index == 0) {
// advance to next block
blockAddr = block.freeNext();
if (blockAddr == null) {
throw new NoSuchElementException();
}
block = new ObjectMonitor(blockAddr);
index = blockSize - 1;
addr = blockAddr.addOffsetTo(index*objectMonitorTypeSize);
}
addr = blockAddr.addOffsetTo(index*objectMonitorTypeSize);
index --;
return new ObjectMonitor(addr);
}