< prev index next >
src/share/vm/trace/traceEventClasses.xsl
Print this page
@@ -134,17 +134,25 @@
<xsl:text>
</xsl:text>
<xsl:value-of select="concat(' Event', @id, '(EventStartTime timing=TIMED) : TraceEvent<Event', @id, '>(timing) {}', $newline)"/>
void writeEvent(void) {
- ResourceMark rm;
+ bool thread_has_resource = Thread::current() != NULL;
+ ResourceArea *area = thread_has_resource
+ ? Thread::current()->resource_area()
+ : new (mtTracing)ResourceArea(Chunk::non_pool_size);
+ ResourceMark rm(area);
if (UseLockedTracing) {
ttyLocker lock;
writeEventContent();
} else {
writeEventContent();
}
+
+ if (!thread_has_resource) {
+ delete area;
+ }
}
};
</xsl:template>
< prev index next >