src/share/vm/runtime/synchronizer.cpp

changeset 4967
5a9fa2ba85f0
parent 4962
6f817ce50129
child 4993
746b070f5022
equal deleted inserted replaced
4962:6f817ce50129 4967:5a9fa2ba85f0
1010 1010
1011 // 3: allocate a block of new ObjectMonitors 1011 // 3: allocate a block of new ObjectMonitors
1012 // Both the local and global free lists are empty -- resort to malloc(). 1012 // Both the local and global free lists are empty -- resort to malloc().
1013 // In the current implementation objectMonitors are TSM - immortal. 1013 // In the current implementation objectMonitors are TSM - immortal.
1014 assert (_BLOCKSIZE > 1, "invariant") ; 1014 assert (_BLOCKSIZE > 1, "invariant") ;
1015 ObjectMonitor * temp; 1015 ObjectMonitor * temp = new ObjectMonitor[_BLOCKSIZE];
1016 NEW_C_HEAP_OBJECT_ARRAY(temp, ObjectMonitor, _BLOCKSIZE, mtInternal, 0, AllocFailStrategy::RETURN_NULL);
1017 1016
1018 // NOTE: (almost) no way to recover if allocation failed. 1017 // NOTE: (almost) no way to recover if allocation failed.
1019 // We might be able to induce a STW safepoint and scavenge enough 1018 // We might be able to induce a STW safepoint and scavenge enough
1020 // objectMonitors to permit progress. 1019 // objectMonitors to permit progress.
1021 if (temp == NULL) { 1020 if (temp == NULL) {

mercurial