1 | /* |
2 | * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. |
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 | * |
5 | * This code is free software; you can redistribute it and/or modify it |
6 | * under the terms of the GNU General Public License version 2 only, as |
7 | * published by the Free Software Foundation. |
8 | * |
9 | * This code is distributed in the hope that it will be useful, but WITHOUT |
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
12 | * version 2 for more details (a copy is included in the LICENSE file that |
13 | * accompanied this code). |
14 | * |
15 | * You should have received a copy of the GNU General Public License version |
16 | * 2 along with this work; if not, write to the Free Software Foundation, |
17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
18 | * |
19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 | * or visit www.oracle.com if you need additional information or have any |
21 | * questions. |
22 | * |
23 | */ |
24 | |
25 | #include "utilities/macros.hpp" |
26 | |
27 | // The giant table of Node classes. |
28 | // One entry per class, sorted by class name. |
29 | |
30 | macro(AbsD) |
31 | macro(AbsF) |
32 | macro(AbsI) |
33 | macro(AbsL) |
34 | macro(AddD) |
35 | macro(AddF) |
36 | macro(AddI) |
37 | macro(AddL) |
38 | macro(AddP) |
39 | macro(Allocate) |
40 | macro(AllocateArray) |
41 | macro(AndI) |
42 | macro(AndL) |
43 | macro(ArrayCopy) |
44 | macro(AryEq) |
45 | macro(AtanD) |
46 | macro(Binary) |
47 | macro(Bool) |
48 | macro(BoxLock) |
49 | macro(ReverseBytesI) |
50 | macro(ReverseBytesL) |
51 | macro(ReverseBytesUS) |
52 | macro(ReverseBytesS) |
53 | macro(CProj) |
54 | macro(CallDynamicJava) |
55 | macro(CallJava) |
56 | macro(CallLeaf) |
57 | macro(CallLeafNoFP) |
58 | macro(CallRuntime) |
59 | macro(CallStaticJava) |
60 | macro(CastII) |
61 | macro(CastX2P) |
62 | macro(CastP2X) |
63 | macro(CastPP) |
64 | macro(Catch) |
65 | macro(CatchProj) |
66 | macro(CheckCastPP) |
67 | macro(ClearArray) |
68 | macro(ConstraintCast) |
69 | macro(CMoveD) |
70 | macro(CMoveVD) |
71 | macro(CMoveF) |
72 | macro(CMoveVF) |
73 | macro(CMoveI) |
74 | macro(CMoveL) |
75 | macro(CMoveP) |
76 | macro(CMoveN) |
77 | macro(CmpN) |
78 | macro(CmpD) |
79 | macro(CmpD3) |
80 | macro(CmpF) |
81 | macro(CmpF3) |
82 | macro(CmpI) |
83 | macro(CmpL) |
84 | macro(CmpL3) |
85 | macro(CmpLTMask) |
86 | macro(CmpP) |
87 | macro(CmpU) |
88 | macro(CmpUL) |
89 | macro(CompareAndSwapB) |
90 | macro(CompareAndSwapS) |
91 | macro(CompareAndSwapI) |
92 | macro(CompareAndSwapL) |
93 | macro(CompareAndSwapP) |
94 | macro(CompareAndSwapN) |
95 | macro(WeakCompareAndSwapB) |
96 | macro(WeakCompareAndSwapS) |
97 | macro(WeakCompareAndSwapI) |
98 | macro(WeakCompareAndSwapL) |
99 | macro(WeakCompareAndSwapP) |
100 | macro(WeakCompareAndSwapN) |
101 | macro(CompareAndExchangeB) |
102 | macro(CompareAndExchangeS) |
103 | macro(CompareAndExchangeI) |
104 | macro(CompareAndExchangeL) |
105 | macro(CompareAndExchangeP) |
106 | macro(CompareAndExchangeN) |
107 | macro(GetAndAddB) |
108 | macro(GetAndAddS) |
109 | macro(GetAndAddI) |
110 | macro(GetAndAddL) |
111 | macro(GetAndSetB) |
112 | macro(GetAndSetS) |
113 | macro(GetAndSetI) |
114 | macro(GetAndSetL) |
115 | macro(GetAndSetP) |
116 | macro(GetAndSetN) |
117 | macro(Con) |
118 | macro(ConN) |
119 | macro(ConNKlass) |
120 | macro(ConD) |
121 | macro(ConF) |
122 | macro(ConI) |
123 | macro(ConL) |
124 | macro(ConP) |
125 | macro(Conv2B) |
126 | macro(ConvD2F) |
127 | macro(ConvD2I) |
128 | macro(ConvD2L) |
129 | macro(ConvF2D) |
130 | macro(ConvF2I) |
131 | macro(ConvF2L) |
132 | macro(ConvI2D) |
133 | macro(ConvI2F) |
134 | macro(ConvI2L) |
135 | macro(ConvL2D) |
136 | macro(ConvL2F) |
137 | macro(ConvL2I) |
138 | macro(CountedLoop) |
139 | macro(CountedLoopEnd) |
140 | macro(OuterStripMinedLoop) |
141 | macro(OuterStripMinedLoopEnd) |
142 | macro(CountLeadingZerosI) |
143 | macro(CountLeadingZerosL) |
144 | macro(CountTrailingZerosI) |
145 | macro(CountTrailingZerosL) |
146 | macro(CreateEx) |
147 | macro(DecodeN) |
148 | macro(DecodeNKlass) |
149 | macro(DivD) |
150 | macro(DivF) |
151 | macro(DivI) |
152 | macro(DivL) |
153 | macro(DivMod) |
154 | macro(DivModI) |
155 | macro(DivModL) |
156 | macro(EncodeISOArray) |
157 | macro(EncodeP) |
158 | macro(EncodePKlass) |
159 | macro(FastLock) |
160 | macro(FastUnlock) |
161 | macro(FmaD) |
162 | macro(FmaF) |
163 | macro(Goto) |
164 | macro(Halt) |
165 | macro(HasNegatives) |
166 | macro(If) |
167 | macro(RangeCheck) |
168 | macro(IfFalse) |
169 | macro(IfTrue) |
170 | macro(Initialize) |
171 | macro(JProj) |
172 | macro(Jump) |
173 | macro(JumpProj) |
174 | macro(LShiftI) |
175 | macro(LShiftL) |
176 | macro(LoadB) |
177 | macro(LoadUB) |
178 | macro(LoadUS) |
179 | macro(LoadD) |
180 | macro(LoadD_unaligned) |
181 | macro(LoadF) |
182 | macro(LoadI) |
183 | macro(LoadKlass) |
184 | macro(LoadNKlass) |
185 | macro(LoadL) |
186 | macro(LoadL_unaligned) |
187 | macro(LoadPLocked) |
188 | macro(LoadP) |
189 | macro(LoadN) |
190 | macro(LoadRange) |
191 | macro(LoadS) |
192 | #if INCLUDE_ZGC |
193 | #define zgcmacro(x) macro(x) |
194 | #else |
195 | #define zgcmacro(x) optionalmacro(x) |
196 | #endif |
197 | zgcmacro(LoadBarrier) |
198 | zgcmacro(LoadBarrierSlowReg) |
199 | zgcmacro(ZCompareAndSwapP) |
200 | zgcmacro(ZWeakCompareAndSwapP) |
201 | zgcmacro(ZCompareAndExchangeP) |
202 | zgcmacro(ZGetAndSetP) |
203 | macro(Lock) |
204 | macro(Loop) |
205 | macro(LoopLimit) |
206 | macro(Mach) |
207 | macro(MachProj) |
208 | macro(MulAddS2I) |
209 | macro(MaxD) |
210 | macro(MaxF) |
211 | macro(MaxI) |
212 | macro(MemBarAcquire) |
213 | macro(LoadFence) |
214 | macro(SetVectMaskI) |
215 | macro(MemBarAcquireLock) |
216 | macro(MemBarCPUOrder) |
217 | macro(MemBarRelease) |
218 | macro(StoreFence) |
219 | macro(MemBarReleaseLock) |
220 | macro(MemBarVolatile) |
221 | macro(MemBarStoreStore) |
222 | macro(MergeMem) |
223 | macro(MinD) |
224 | macro(MinF) |
225 | macro(MinI) |
226 | macro(ModD) |
227 | macro(ModF) |
228 | macro(ModI) |
229 | macro(ModL) |
230 | macro(MoveI2F) |
231 | macro(MoveF2I) |
232 | macro(MoveL2D) |
233 | macro(MoveD2L) |
234 | macro(MulD) |
235 | macro(MulF) |
236 | macro(MulHiL) |
237 | macro(MulI) |
238 | macro(MulL) |
239 | macro(Multi) |
240 | macro(NegD) |
241 | macro(NegF) |
242 | macro(NeverBranch) |
243 | macro(OnSpinWait) |
244 | macro(Opaque1) |
245 | macro(Opaque2) |
246 | macro(Opaque3) |
247 | macro(Opaque4) |
248 | macro(ProfileBoolean) |
249 | macro(OrI) |
250 | macro(OrL) |
251 | macro(OverflowAddI) |
252 | macro(OverflowSubI) |
253 | macro(OverflowMulI) |
254 | macro(OverflowAddL) |
255 | macro(OverflowSubL) |
256 | macro(OverflowMulL) |
257 | macro(PCTable) |
258 | macro(Parm) |
259 | macro(PartialSubtypeCheck) |
260 | macro(Phi) |
261 | macro(PopCountI) |
262 | macro(PopCountL) |
263 | macro(PopCountVI) |
264 | macro(PrefetchAllocation) |
265 | macro(Proj) |
266 | macro(RShiftI) |
267 | macro(RShiftL) |
268 | macro(Region) |
269 | macro(Rethrow) |
270 | macro(Return) |
271 | macro(Root) |
272 | macro(RoundDouble) |
273 | macro(RoundFloat) |
274 | macro(SafePoint) |
275 | macro(SafePointScalarObject) |
276 | #if INCLUDE_SHENANDOAHGC |
277 | #define shmacro(x) macro(x) |
278 | #else |
279 | #define shmacro(x) optionalmacro(x) |
280 | #endif |
281 | shmacro(ShenandoahCompareAndExchangeP) |
282 | shmacro(ShenandoahCompareAndExchangeN) |
283 | shmacro(ShenandoahCompareAndSwapN) |
284 | shmacro(ShenandoahCompareAndSwapP) |
285 | shmacro(ShenandoahWeakCompareAndSwapN) |
286 | shmacro(ShenandoahWeakCompareAndSwapP) |
287 | shmacro(ShenandoahEnqueueBarrier) |
288 | shmacro(ShenandoahLoadReferenceBarrier) |
289 | macro(SCMemProj) |
290 | macro(SqrtD) |
291 | macro(SqrtF) |
292 | macro(Start) |
293 | macro(StartOSR) |
294 | macro(StoreB) |
295 | macro(StoreC) |
296 | macro(StoreCM) |
297 | macro(StorePConditional) |
298 | macro(StoreIConditional) |
299 | macro(StoreLConditional) |
300 | macro(StoreD) |
301 | macro(StoreF) |
302 | macro(StoreI) |
303 | macro(StoreL) |
304 | macro(StoreP) |
305 | macro(StoreN) |
306 | macro(StoreNKlass) |
307 | macro(StrComp) |
308 | macro(StrCompressedCopy) |
309 | macro(StrEquals) |
310 | macro(StrIndexOf) |
311 | macro(StrIndexOfChar) |
312 | macro(StrInflatedCopy) |
313 | macro(SubD) |
314 | macro(SubF) |
315 | macro(SubI) |
316 | macro(SubL) |
317 | macro(TailCall) |
318 | macro(TailJump) |
319 | macro(ThreadLocal) |
320 | macro(Unlock) |
321 | macro(URShiftI) |
322 | macro(URShiftL) |
323 | macro(XorI) |
324 | macro(XorL) |
325 | macro(Vector) |
326 | macro(AddVB) |
327 | macro(AddVS) |
328 | macro(AddVI) |
329 | macro(AddReductionVI) |
330 | macro(AddVL) |
331 | macro(AddReductionVL) |
332 | macro(AddVF) |
333 | macro(AddReductionVF) |
334 | macro(AddVD) |
335 | macro(AddReductionVD) |
336 | macro(SubVB) |
337 | macro(SubVS) |
338 | macro(SubVI) |
339 | macro(SubVL) |
340 | macro(SubVF) |
341 | macro(SubVD) |
342 | macro(MulVB) |
343 | macro(MulVS) |
344 | macro(MulVI) |
345 | macro(MulReductionVI) |
346 | macro(MulVL) |
347 | macro(MulReductionVL) |
348 | macro(MulVF) |
349 | macro(MulReductionVF) |
350 | macro(MulVD) |
351 | macro(MulReductionVD) |
352 | macro(MulAddVS2VI) |
353 | macro(FmaVD) |
354 | macro(FmaVF) |
355 | macro(DivVF) |
356 | macro(DivVD) |
357 | macro(AbsVB) |
358 | macro(AbsVS) |
359 | macro(AbsVI) |
360 | macro(AbsVL) |
361 | macro(AbsVF) |
362 | macro(AbsVD) |
363 | macro(NegVF) |
364 | macro(NegVD) |
365 | macro(SqrtVD) |
366 | macro(SqrtVF) |
367 | macro(LShiftCntV) |
368 | macro(RShiftCntV) |
369 | macro(LShiftVB) |
370 | macro(LShiftVS) |
371 | macro(LShiftVI) |
372 | macro(LShiftVL) |
373 | macro(RShiftVB) |
374 | macro(RShiftVS) |
375 | macro(RShiftVI) |
376 | macro(RShiftVL) |
377 | macro(URShiftVB) |
378 | macro(URShiftVS) |
379 | macro(URShiftVI) |
380 | macro(URShiftVL) |
381 | macro(AndV) |
382 | macro(OrV) |
383 | macro(XorV) |
384 | macro(MinV) |
385 | macro(MaxV) |
386 | macro(MinReductionV) |
387 | macro(MaxReductionV) |
388 | macro(LoadVector) |
389 | macro(StoreVector) |
390 | macro(Pack) |
391 | macro(PackB) |
392 | macro(PackS) |
393 | macro(PackI) |
394 | macro(PackL) |
395 | macro(PackF) |
396 | macro(PackD) |
397 | macro(Pack2L) |
398 | macro(Pack2D) |
399 | macro(ReplicateB) |
400 | macro(ReplicateS) |
401 | macro(ReplicateI) |
402 | macro(ReplicateL) |
403 | macro(ReplicateF) |
404 | macro(ReplicateD) |
405 | macro(Extract) |
406 | macro(ExtractB) |
407 | macro(ExtractUB) |
408 | macro(ExtractC) |
409 | macro(ExtractS) |
410 | macro(ExtractI) |
411 | macro(ExtractL) |
412 | macro(ExtractF) |
413 | macro(ExtractD) |
414 | macro(Digit) |
415 | macro(LowerCase) |
416 | macro(UpperCase) |
417 | macro(Whitespace) |
418 | |