Mercurial > hg > truffle
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()) { |