Mercurial > hg > truffle
diff src/share/vm/memory/memRegion.hpp @ 10271:f9be75d21404
8012902: remove use of global operator new - take 2
Summary: 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
Contributed-by: yumin.qi@oracle.com
author | minqi |
---|---|
date | Tue, 14 May 2013 09:41:12 -0700 |
parents | da91efe96a93 |
children | 9758d9f36299 |
line wrap: on
line diff
--- a/src/share/vm/memory/memRegion.hpp Tue May 14 11:34:30 2013 +0400 +++ b/src/share/vm/memory/memRegion.hpp Tue May 14 09:41:12 2013 -0700 @@ -34,7 +34,9 @@ // Note that MemRegions are passed by value, not by reference. // The intent is that they remain very small and contain no -// objects. +// objects. _ValueObj should never be allocated in heap but we do +// create MemRegions (in CardTableModRefBS) in heap so operator +// new and operator new [] added for this special case. class MetaWord; @@ -92,6 +94,10 @@ size_t word_size() const { return _word_size; } bool is_empty() const { return word_size() == 0; } + void* operator new(size_t size); + void* operator new [](size_t size); + void operator delete(void* p); + void operator delete [](void* p); }; // For iteration over MemRegion's.