diff -r 4daebd4cc1dd -r cc6a617fffd2 src/share/vm/runtime/handles.inline.hpp --- a/src/share/vm/runtime/handles.inline.hpp Mon Dec 24 11:46:38 2012 -0800 +++ b/src/share/vm/runtime/handles.inline.hpp Wed Jan 02 20:28:09 2013 -0500 @@ -80,6 +80,8 @@ _thread = Thread::current(); \ } \ _thread->metadata_handles()->push((Metadata*)_value); \ + } else { \ + _thread = NULL; \ } \ } \ inline name##Handle& name##Handle::operator=(const name##Handle &s) { \ @@ -94,6 +96,8 @@ _thread = Thread::current(); \ } \ _thread->metadata_handles()->push((Metadata*)_value); \ + } else { \ + _thread = NULL; \ } \ return *this; \ } \