comparison src/share/vm/utilities/preserveException.cpp @ 6152:958bb4b7be49

Merge
author asaha
date Tue, 10 Apr 2012 10:42:34 -0700
parents 1b0e0f8be510
children b9a9ed0f8eeb
comparison
equal deleted inserted replaced
6151:e778c29768e6 6152:958bb4b7be49
30 30
31 PreserveExceptionMark::PreserveExceptionMark(Thread*& thread) { 31 PreserveExceptionMark::PreserveExceptionMark(Thread*& thread) {
32 thread = Thread::current(); 32 thread = Thread::current();
33 _thread = thread; 33 _thread = thread;
34 _preserved_exception_oop = Handle(thread, _thread->pending_exception()); 34 _preserved_exception_oop = Handle(thread, _thread->pending_exception());
35 _thread->clear_pending_exception(); // Needed to avoid infinite recursion
36 _preserved_exception_line = _thread->exception_line(); 35 _preserved_exception_line = _thread->exception_line();
37 _preserved_exception_file = _thread->exception_file(); 36 _preserved_exception_file = _thread->exception_file();
37 _thread->clear_pending_exception(); // Needed to avoid infinite recursion
38 } 38 }
39 39
40 40
41 PreserveExceptionMark::~PreserveExceptionMark() { 41 PreserveExceptionMark::~PreserveExceptionMark() {
42 if (_thread->has_pending_exception()) { 42 if (_thread->has_pending_exception()) {