< prev index next >

src/share/vm/runtime/objectMonitor.cpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1998, 2016, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1998, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 1671,1681 **** } else { // CONSIDER: finding the tail currently requires a linear-time walk of // the EntryList. We can make tail access constant-time by converting to // a CDLL instead of using our current DLL. ObjectWaiter * tail; ! for (tail = list; tail->_next != NULL; tail = tail->_next) /* empty */; assert(tail != NULL && tail->_next == NULL, "invariant"); tail->_next = iterator; iterator->_prev = tail; iterator->_next = NULL; } --- 1671,1681 ---- } else { // CONSIDER: finding the tail currently requires a linear-time walk of // the EntryList. We can make tail access constant-time by converting to // a CDLL instead of using our current DLL. ObjectWaiter * tail; ! for (tail = list; tail->_next != NULL; tail = tail->_next) {} assert(tail != NULL && tail->_next == NULL, "invariant"); tail->_next = iterator; iterator->_prev = tail; iterator->_next = NULL; }
< prev index next >