comparison src/share/vm/runtime/synchronizer.cpp @ 10130:6f817ce50129

8010992: Remove calls to global ::operator new[] and new Summary: disable use of global operator new and new[] which could cause unexpected exception and escape from NMT tracking. Reviewed-by: coleenp, dholmes, zgu Contributed-by: yumin.qi@oracle.com
author minqi
date Fri, 19 Apr 2013 11:08:52 -0700
parents cc32ccaaf47f
children 5a9fa2ba85f0
comparison
equal deleted inserted replaced
10129:7815eaceaa8c 10130: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) {