src/share/vm/runtime/synchronizer.cpp

changeset 4962
6f817ce50129
parent 4889
cc32ccaaf47f
child 4967
5a9fa2ba85f0
equal deleted inserted replaced
4961:7815eaceaa8c 4962:6f817ce50129
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 = new ObjectMonitor[_BLOCKSIZE]; 1015 ObjectMonitor * temp;
1016 NEW_C_HEAP_OBJECT_ARRAY(temp, ObjectMonitor, _BLOCKSIZE, mtInternal, 0, AllocFailStrategy::RETURN_NULL);
1016 1017
1017 // NOTE: (almost) no way to recover if allocation failed. 1018 // NOTE: (almost) no way to recover if allocation failed.
1018 // We might be able to induce a STW safepoint and scavenge enough 1019 // We might be able to induce a STW safepoint and scavenge enough
1019 // objectMonitors to permit progress. 1020 // objectMonitors to permit progress.
1020 if (temp == NULL) { 1021 if (temp == NULL) {

mercurial