8012902: remove use of global operator new - take 2

The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms.

Reviewed-by: coleenp, dholmes, zgu
This commit is contained in:
Yumin Qi 2013-05-14 09:41:12 -07:00 committed by Yumin Qi
parent b3675a00d9
commit 98151c30c8
28 changed files with 287 additions and 101 deletions

View file

@ -179,6 +179,22 @@ HandleMark::~HandleMark() {
_thread->set_last_handle_mark(previous_handle_mark());
}
void* HandleMark::operator new(size_t size) {
return AllocateHeap(size, mtThread);
}
void* HandleMark::operator new [] (size_t size) {
return AllocateHeap(size, mtThread);
}
void HandleMark::operator delete(void* p) {
FreeHeap(p, mtThread);
}
void HandleMark::operator delete[](void* p) {
FreeHeap(p, mtThread);
}
#ifdef ASSERT
NoHandleMark::NoHandleMark() {