< prev index next >
src/hotspot/share/utilities/vmError.cpp
Print this page
rev 49113 : 8198845: Missing resource mark results disassembling generated code failure in hs error report
Summary: Fixed secondary failure due to missing resource mark while disassembling nmethod
Reviewed-by: coleenp, stuefe, dholmes
@@ -27,10 +27,11 @@
#include "code/codeCache.hpp"
#include "compiler/compileBroker.hpp"
#include "compiler/disassembler.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "logging/logConfiguration.hpp"
+#include "memory/resourceArea.hpp"
#include "prims/whitebox.hpp"
#include "runtime/arguments.hpp"
#include "runtime/atomic.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/init.hpp"
@@ -771,11 +772,14 @@
} else {
StubCodeDesc* desc = StubCodeDesc::desc_for(_pc);
if (desc != NULL) {
desc->print_on(st);
Disassembler::decode(desc->begin(), desc->end(), st);
- } else {
+ } else if (_thread != NULL) {
+ // Disassembling nmethod will incur resource memory allocation,
+ // only do so when thread is valid.
+ ResourceMark rm(_thread);
Disassembler::decode(cb, st);
st->cr();
}
}
}
< prev index next >