This commit is contained in:
David Holmes 2017-08-10 01:48:41 +00:00
commit 92ddd523cc

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);
}