Mercurial > hg > truffle
comparison src/share/vm/runtime/thread.hpp @ 10096:35f8765422b9
8010151: nsk/regression/b6653214 fails "assert(snapshot != NULL) failed: Worker should not be started"
Summary: Fixed a racing condition when shutting down NMT while worker thread is being started, also fixed a few mis-declared volatile pointers.
Reviewed-by: dholmes, dlong
author | zgu |
---|---|
date | Wed, 10 Apr 2013 08:55:50 -0400 |
parents | 9058789475af |
children | 62e7bac9524f |
comparison
equal
deleted
inserted
replaced
9066:09b0d3e9ba6c | 10096:35f8765422b9 |
---|---|
1054 void set_do_not_unlock_if_synchronized(bool val) { _do_not_unlock_if_synchronized = val; } | 1054 void set_do_not_unlock_if_synchronized(bool val) { _do_not_unlock_if_synchronized = val; } |
1055 | 1055 |
1056 #if INCLUDE_NMT | 1056 #if INCLUDE_NMT |
1057 // native memory tracking | 1057 // native memory tracking |
1058 inline MemRecorder* get_recorder() const { return (MemRecorder*)_recorder; } | 1058 inline MemRecorder* get_recorder() const { return (MemRecorder*)_recorder; } |
1059 inline void set_recorder(MemRecorder* rc) { _recorder = (volatile MemRecorder*)rc; } | 1059 inline void set_recorder(MemRecorder* rc) { _recorder = rc; } |
1060 | 1060 |
1061 private: | 1061 private: |
1062 // per-thread memory recorder | 1062 // per-thread memory recorder |
1063 volatile MemRecorder* _recorder; | 1063 MemRecorder* volatile _recorder; |
1064 #endif // INCLUDE_NMT | 1064 #endif // INCLUDE_NMT |
1065 | 1065 |
1066 // Suspend/resume support for JavaThread | 1066 // Suspend/resume support for JavaThread |
1067 private: | 1067 private: |
1068 void set_ext_suspended() { set_suspend_flag (_ext_suspended); } | 1068 void set_ext_suspended() { set_suspend_flag (_ext_suspended); } |