annotate src/share/vm/trace/traceEventClasses.xsl @ 10405:f2110083203d

8005849: JEP 167: Event-Based JVM Tracing Reviewed-by: acorn, coleenp, sla Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
author sla
date Mon, 10 Jun 2013 11:30:51 +0200
parents
children 042cf42c72bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
2 <!--
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
3 Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
5
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
6 This code is free software; you can redistribute it and/or modify it
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
7 under the terms of the GNU General Public License version 2 only, as
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
8 published by the Free Software Foundation.
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
9
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
10 This code is distributed in the hope that it will be useful, but WITHOUT
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
13 version 2 for more details (a copy is included in the LICENSE file that
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
14 accompanied this code).
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
15
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
16 You should have received a copy of the GNU General Public License version
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
17 2 along with this work; if not, write to the Free Software Foundation,
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
18 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
19
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
20 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
21 or visit www.oracle.com if you need additional information or have any
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
22 questions.
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
23 -->
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
24
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
25 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
26 <xsl:output method="text" indent="no" omit-xml-declaration="yes"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
27 <xsl:import href="xsl_util.xsl"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
28
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
29 <xsl:template match="/">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
30 <xsl:call-template name="file-header"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
31
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
32 #ifndef TRACEFILES_TRACEEVENTCLASSES_HPP
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
33 #define TRACEFILES_TRACEEVENTCLASSES_HPP
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
34
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
35 // On purpose outside the INCLUDE_TRACE
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
36 // Some parts of traceEvent.hpp are used outside of
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
37 // INCLUDE_TRACE
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
38
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
39 #include "memory/resourceArea.hpp"
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
40 #include "tracefiles/traceTypes.hpp"
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
41 #include "trace/traceEvent.hpp"
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
42 #include "utilities/macros.hpp"
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
43
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
44 #if INCLUDE_TRACE
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
45
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
46
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
47 #include "trace/traceStream.hpp"
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
48 #include "utilities/ostream.hpp"
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
49
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
50 <xsl:apply-templates select="trace/events/struct" mode="trace"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
51 <xsl:apply-templates select="trace/events/event" mode="trace"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
52
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
53 #else
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
54
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
55 class TraceEvent {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
56 public:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
57 TraceEvent() {}
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
58 void set_starttime(jlong time) const {}
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
59 void set_endtime(jlong time) const {}
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
60 bool should_commit() const { return false; }
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
61 void commit() const {}
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
62 };
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
63
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
64 <xsl:apply-templates select="trace/events/struct" mode="empty"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
65 <xsl:apply-templates select="trace/events/event" mode="empty"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
66
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
67 #endif
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
68
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
69 #endif
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
70 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
71
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
72 <xsl:template match="struct" mode="trace">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
73 struct TraceStruct<xsl:value-of select="@id"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
74 {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
75 private:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
76 <xsl:apply-templates select="value" mode="write-fields"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
77 public:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
78 <xsl:apply-templates select="value" mode="write-setters"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
79
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
80 void writeStruct(TraceStream&amp; ts) {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
81 <xsl:apply-templates select="value" mode="write-data"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
82 }
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
83 };
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
84
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
85 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
86
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
87 <xsl:template match="struct" mode="empty">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
88 struct TraceStruct<xsl:value-of select="@id"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
89 {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
90 public:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
91 <xsl:apply-templates select="value" mode="write-empty-setters"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
92 };
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
93 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
94
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
95
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
96 <xsl:template match="event" mode="empty">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
97 <xsl:value-of select="concat('class Event', @id, ' : public TraceEvent')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
98 {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
99 public:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
100 <xsl:value-of select="concat(' Event', @id, '(bool ignore=true) {}')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
101 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
102 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
103
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
104 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-empty-setters"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
105 };
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
106
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
107 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
108
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
109
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
110 <xsl:template match="event" mode="trace">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
111 <xsl:value-of select="concat('class Event', @id, ' : public TraceEvent&lt;Event', @id, '&gt;')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
112 {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
113 public:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
114 static const bool hasThread = <xsl:value-of select="@has_thread"/>;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
115 static const bool hasStackTrace = <xsl:value-of select="@has_stacktrace"/>;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
116 static const bool isInstant = <xsl:value-of select="@is_instant"/>;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
117 static const bool isRequestable = <xsl:value-of select="@is_requestable"/>;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
118 static const TraceEventId eventId = <xsl:value-of select="concat('Trace', @id, 'Event')"/>;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
119
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
120 private:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
121 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-fields"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
122
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
123 void writeEventContent(void) {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
124 TraceStream ts(*tty);
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
125 ts.print("<xsl:value-of select="@label"/>: [");
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
126 <xsl:apply-templates select="value|structvalue" mode="write-data"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
127 ts.print("]\n");
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
128 }
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
129
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
130 public:
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
131 <xsl:apply-templates select="value|structvalue|transition_value|relation" mode="write-setters"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
132
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
133 bool should_write(void) {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
134 return true;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
135 }
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
136 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
137
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
138 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
139 <xsl:value-of select="concat(' Event', @id, '(EventStartTime timing=TIMED) : TraceEvent&lt;Event', @id, '&gt;(timing) {}', $newline)"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
140 void writeEvent(void) {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
141 ResourceMark rm;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
142 if (UseLockedTracing) {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
143 ttyLocker lock;
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
144 writeEventContent();
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
145 } else {
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
146 writeEventContent();
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
147 }
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
148 }
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
149 };
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
150
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
151 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
152
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
153 <xsl:template match="value|transition_value|relation" mode="write-empty-setters">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
154 <xsl:param name="cls"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
155 <xsl:variable name="type" select="@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
156 <xsl:variable name="wt" select="//primary_type[@symbol=$type]/@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
157 <xsl:value-of select="concat(' void set_', @field, '(', $wt, ' value) { }')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
158 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
159 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
160 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
161 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
162 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
163
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
164 <xsl:template match="structvalue" mode="write-empty-setters">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
165 <xsl:param name="cls"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
166 <xsl:value-of select="concat(' void set_', @field, '(const TraceStruct', @type, '&amp; value) { }')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
167 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
168 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
169 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
170 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
171 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
172
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
173
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
174 <xsl:template match="value[@type='TICKS']" mode="write-setters">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
175 #if INCLUDE_TRACE
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
176 <xsl:value-of select="concat('void set_', @field, '(jlong time) { _', @field, ' = time; }')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
177 #else
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
178 <xsl:value-of select="concat('void set_', @field, '(jlong ignore) {}')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
179 #endif
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
180 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
181
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
182 <xsl:template match="value[@type='RELATIVE_TICKS']" mode="write-setters">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
183 #if INCLUDE_TRACE
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
184 <xsl:value-of select="concat('void set_', @field, '(jlong time) { _', @field, ' = time; }')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
185 #else
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
186 <xsl:value-of select="concat('void set_', @field, '(jlong ignore) {}')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
187 #endif
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
188 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
189
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
190 <xsl:template match="value" mode="write-fields">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
191 <xsl:variable name="type" select="@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
192 <xsl:variable name="wt" select="//primary_type[@symbol=$type]/@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
193 <xsl:value-of select="concat(' ', $wt, ' _', @field, ';')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
194 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
195 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
196 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
197 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
198 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
199
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
200 <xsl:template match="structvalue" mode="write-fields">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
201 <xsl:value-of select="concat(' TraceStruct', @type, ' _', @field, ';')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
202 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
203 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
204 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
205
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
206 <xsl:template match="value|transition_value|relation" mode="write-setters">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
207 <xsl:param name="cls"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
208 <xsl:variable name="type" select="@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
209 <xsl:variable name="wt" select="//primary_type[@symbol=$type]/@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
210 <xsl:value-of select="concat(' void set_', @field, '(', $wt, ' value) { this->_', @field, ' = value; }')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
211 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
212 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
213 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
214 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
215 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
216
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
217 <xsl:template match="structvalue" mode="write-setters">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
218 <xsl:param name="cls"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
219 <xsl:value-of select="concat(' void set_', @field, '(const TraceStruct', @type, '&amp; value) { this->_', @field, ' = value; }')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
220 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
221 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
222 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
223 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
224 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
225
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
226 <xsl:template match="value" mode="write-data">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
227 <xsl:variable name="type" select="@type"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
228 <xsl:variable name="wt" select="//primary_type[@symbol=$type]/@writetype"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
229 <xsl:value-of select="concat(' ts.print_val(&quot;', @label, '&quot;, _', @field, ');')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
230 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
231 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
232 ts.print(", ");
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
233 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
234 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
235 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
236
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
237 <xsl:template match="structvalue" mode="write-data">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
238 <xsl:value-of select="concat(' _', @field, '.writeStruct(ts);')"/>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
239 <xsl:if test="position() != last()">
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
240 <xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
241 ts.print(", ");
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
242 </xsl:text>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
243 </xsl:if>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
244 </xsl:template>
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
245
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents:
diff changeset
246 </xsl:stylesheet>