Mercurial > hg > truffle
diff src/share/vm/runtime/os.cpp @ 14407:94c202aa2646
Merge
author | kvn |
---|---|
date | Thu, 01 Aug 2013 17:25:10 -0700 |
parents | 75ef1a499665 5e3b6f79d280 |
children | e2722a66aba7 |
line wrap: on
line diff
--- a/src/share/vm/runtime/os.cpp Fri Jul 26 10:12:15 2013 +0200 +++ b/src/share/vm/runtime/os.cpp Thu Aug 01 17:25:10 2013 -0700 @@ -595,6 +595,22 @@ NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1)); NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size)); +#ifdef ASSERT + // checking for the WatcherThread and crash_protection first + // since os::malloc can be called when the libjvm.{dll,so} is + // first loaded and we don't have a thread yet. + // try to find the thread after we see that the watcher thread + // exists and has crash protection. + WatcherThread *wt = WatcherThread::watcher_thread(); + if (wt != NULL && wt->has_crash_protection()) { + Thread* thread = ThreadLocalStorage::get_thread_slow(); + if (thread == wt) { + assert(!wt->has_crash_protection(), + "Can't malloc with crash protection from WatcherThread"); + } + } +#endif + if (size == 0) { // return a valid pointer if size is zero // if NULL is returned the calling functions assume out of memory.