Mercurial > hg > truffle
annotate src/share/vm/opto/classes.hpp @ 21231:0bb06deee33b
Check for null in LabelOp#setIncomingValues and JumpOp#setOutgoingValues.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Tue, 05 May 2015 12:12:33 +0200 |
parents | 52b4284cb496 |
children |
rev | line source |
---|---|
0 | 1 /* |
14223
de6a9e811145
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents:
12972
diff
changeset
|
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
0 | 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 * | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1396
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1396
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1396
diff
changeset
|
21 * questions. |
0 | 22 * |
23 */ | |
24 | |
25 // The giant table of Node classes. | |
26 // One entry per class, sorted by class name. | |
27 | |
28 macro(AbsD) | |
29 macro(AbsF) | |
30 macro(AbsI) | |
31 macro(AddD) | |
32 macro(AddF) | |
33 macro(AddI) | |
34 macro(AddL) | |
35 macro(AddP) | |
36 macro(Allocate) | |
37 macro(AllocateArray) | |
38 macro(AndI) | |
39 macro(AndL) | |
169
9148c65abefc
6695049: (coll) Create an x86 intrinsic for Arrays.equals
rasbold
parents:
164
diff
changeset
|
40 macro(AryEq) |
0 | 41 macro(AtanD) |
42 macro(Binary) | |
43 macro(Bool) | |
44 macro(BoxLock) | |
45 macro(ReverseBytesI) | |
46 macro(ReverseBytesL) | |
1396
d7f654633cfe
6946040: add intrinsic for short and char reverseBytes
never
parents:
775
diff
changeset
|
47 macro(ReverseBytesUS) |
d7f654633cfe
6946040: add intrinsic for short and char reverseBytes
never
parents:
775
diff
changeset
|
48 macro(ReverseBytesS) |
0 | 49 macro(CProj) |
50 macro(CallDynamicJava) | |
51 macro(CallJava) | |
52 macro(CallLeaf) | |
53 macro(CallLeafNoFP) | |
54 macro(CallRuntime) | |
55 macro(CallStaticJava) | |
56 macro(CastII) | |
57 macro(CastX2P) | |
58 macro(CastP2X) | |
59 macro(CastPP) | |
60 macro(Catch) | |
61 macro(CatchProj) | |
62 macro(CheckCastPP) | |
63 macro(ClearArray) | |
64 macro(ConstraintCast) | |
65 macro(CMoveD) | |
66 macro(CMoveF) | |
67 macro(CMoveI) | |
68 macro(CMoveL) | |
69 macro(CMoveP) | |
164
c436414a719e
6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions
kvn
parents:
145
diff
changeset
|
70 macro(CMoveN) |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
71 macro(CmpN) |
0 | 72 macro(CmpD) |
73 macro(CmpD3) | |
74 macro(CmpF) | |
75 macro(CmpF3) | |
76 macro(CmpI) | |
77 macro(CmpL) | |
78 macro(CmpL3) | |
79 macro(CmpLTMask) | |
80 macro(CmpP) | |
81 macro(CmpU) | |
82 macro(CompareAndSwapI) | |
83 macro(CompareAndSwapL) | |
84 macro(CompareAndSwapP) | |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
85 macro(CompareAndSwapN) |
6795
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
6614
diff
changeset
|
86 macro(GetAndAddI) |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
6614
diff
changeset
|
87 macro(GetAndAddL) |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
6614
diff
changeset
|
88 macro(GetAndSetI) |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
6614
diff
changeset
|
89 macro(GetAndSetL) |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
6614
diff
changeset
|
90 macro(GetAndSetP) |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
6614
diff
changeset
|
91 macro(GetAndSetN) |
0 | 92 macro(Con) |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
93 macro(ConN) |
6848
8e47bac5643a
7054512: Compress class pointers after perm gen removal
roland
parents:
6823
diff
changeset
|
94 macro(ConNKlass) |
0 | 95 macro(ConD) |
96 macro(ConF) | |
97 macro(ConI) | |
98 macro(ConL) | |
99 macro(ConP) | |
100 macro(Conv2B) | |
101 macro(ConvD2F) | |
102 macro(ConvD2I) | |
103 macro(ConvD2L) | |
104 macro(ConvF2D) | |
105 macro(ConvF2I) | |
106 macro(ConvF2L) | |
107 macro(ConvI2D) | |
108 macro(ConvI2F) | |
109 macro(ConvI2L) | |
110 macro(ConvL2D) | |
111 macro(ConvL2F) | |
112 macro(ConvL2I) | |
113 macro(CosD) | |
114 macro(CountedLoop) | |
115 macro(CountedLoopEnd) | |
775
93c14e5562c4
6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
twisti
parents:
681
diff
changeset
|
116 macro(CountLeadingZerosI) |
93c14e5562c4
6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
twisti
parents:
681
diff
changeset
|
117 macro(CountLeadingZerosL) |
93c14e5562c4
6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
twisti
parents:
681
diff
changeset
|
118 macro(CountTrailingZerosI) |
93c14e5562c4
6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
twisti
parents:
681
diff
changeset
|
119 macro(CountTrailingZerosL) |
0 | 120 macro(CreateEx) |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
121 macro(DecodeN) |
6848
8e47bac5643a
7054512: Compress class pointers after perm gen removal
roland
parents:
6823
diff
changeset
|
122 macro(DecodeNKlass) |
0 | 123 macro(DivD) |
124 macro(DivF) | |
125 macro(DivI) | |
126 macro(DivL) | |
127 macro(DivMod) | |
128 macro(DivModI) | |
129 macro(DivModL) | |
7637
b30b3c2a0cf2
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
kvn
parents:
6849
diff
changeset
|
130 macro(EncodeISOArray) |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
131 macro(EncodeP) |
6848
8e47bac5643a
7054512: Compress class pointers after perm gen removal
roland
parents:
6823
diff
changeset
|
132 macro(EncodePKlass) |
0 | 133 macro(ExpD) |
134 macro(FastLock) | |
135 macro(FastUnlock) | |
136 macro(Goto) | |
137 macro(Halt) | |
138 macro(If) | |
139 macro(IfFalse) | |
140 macro(IfTrue) | |
141 macro(Initialize) | |
142 macro(JProj) | |
143 macro(Jump) | |
144 macro(JumpProj) | |
145 macro(LShiftI) | |
146 macro(LShiftL) | |
147 macro(LoadB) | |
624 | 148 macro(LoadUB) |
558
3b5ac9e7e6ea
6796746: rename LoadC (char) opcode class to LoadUS (unsigned short)
twisti
parents:
420
diff
changeset
|
149 macro(LoadUS) |
0 | 150 macro(LoadD) |
151 macro(LoadD_unaligned) | |
152 macro(LoadF) | |
153 macro(LoadI) | |
154 macro(LoadKlass) | |
164
c436414a719e
6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions
kvn
parents:
145
diff
changeset
|
155 macro(LoadNKlass) |
0 | 156 macro(LoadL) |
157 macro(LoadL_unaligned) | |
158 macro(LoadPLocked) | |
159 macro(LoadP) | |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
160 macro(LoadN) |
0 | 161 macro(LoadRange) |
162 macro(LoadS) | |
163 macro(Lock) | |
164 macro(LogD) | |
165 macro(Log10D) | |
166 macro(Loop) | |
3345 | 167 macro(LoopLimit) |
0 | 168 macro(Mach) |
169 macro(MachProj) | |
170 macro(MaxI) | |
171 macro(MemBarAcquire) | |
14439
50fdb38839eb
8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
goetz
parents:
12972
diff
changeset
|
172 macro(LoadFence) |
3849
f1c12354c3f7
7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
roland
parents:
3345
diff
changeset
|
173 macro(MemBarAcquireLock) |
0 | 174 macro(MemBarCPUOrder) |
175 macro(MemBarRelease) | |
14439
50fdb38839eb
8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
goetz
parents:
12972
diff
changeset
|
176 macro(StoreFence) |
3849
f1c12354c3f7
7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
roland
parents:
3345
diff
changeset
|
177 macro(MemBarReleaseLock) |
0 | 178 macro(MemBarVolatile) |
4763
1dc233a8c7fe
7121140: Allocation paths require explicit memory synchronization operations for RMO systems
roland
parents:
3854
diff
changeset
|
179 macro(MemBarStoreStore) |
0 | 180 macro(MergeMem) |
181 macro(MinI) | |
182 macro(ModD) | |
183 macro(ModF) | |
184 macro(ModI) | |
185 macro(ModL) | |
186 macro(MoveI2F) | |
187 macro(MoveF2I) | |
188 macro(MoveL2D) | |
189 macro(MoveD2L) | |
190 macro(MulD) | |
191 macro(MulF) | |
145 | 192 macro(MulHiL) |
0 | 193 macro(MulI) |
194 macro(MulL) | |
195 macro(Multi) | |
196 macro(NegD) | |
197 macro(NegF) | |
198 macro(NeverBranch) | |
199 macro(Opaque1) | |
200 macro(Opaque2) | |
17780 | 201 macro(Opaque3) |
0 | 202 macro(OrI) |
203 macro(OrL) | |
17726
085b304a1cc5
8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents:
14223
diff
changeset
|
204 macro(OverflowAddI) |
085b304a1cc5
8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents:
14223
diff
changeset
|
205 macro(OverflowSubI) |
085b304a1cc5
8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents:
14223
diff
changeset
|
206 macro(OverflowMulI) |
085b304a1cc5
8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents:
14223
diff
changeset
|
207 macro(OverflowAddL) |
085b304a1cc5
8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents:
14223
diff
changeset
|
208 macro(OverflowSubL) |
085b304a1cc5
8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents:
14223
diff
changeset
|
209 macro(OverflowMulL) |
0 | 210 macro(PCTable) |
211 macro(Parm) | |
212 macro(PartialSubtypeCheck) | |
213 macro(Phi) | |
643
c771b7f43bbf
6378821: bitCount() should use POPC on SPARC processors and AMD+10h
twisti
parents:
624
diff
changeset
|
214 macro(PopCountI) |
c771b7f43bbf
6378821: bitCount() should use POPC on SPARC processors and AMD+10h
twisti
parents:
624
diff
changeset
|
215 macro(PopCountL) |
0 | 216 macro(PowD) |
3854 | 217 macro(PrefetchAllocation) |
0 | 218 macro(PrefetchRead) |
219 macro(PrefetchWrite) | |
220 macro(Proj) | |
221 macro(RShiftI) | |
222 macro(RShiftL) | |
223 macro(Region) | |
224 macro(Rethrow) | |
225 macro(Return) | |
226 macro(Root) | |
227 macro(RoundDouble) | |
228 macro(RoundFloat) | |
229 macro(SafePoint) | |
63
eac007780a58
6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
kvn
parents:
0
diff
changeset
|
230 macro(SafePointScalarObject) |
0 | 231 macro(SCMemProj) |
232 macro(SinD) | |
233 macro(SqrtD) | |
234 macro(Start) | |
235 macro(StartOSR) | |
236 macro(StoreB) | |
237 macro(StoreC) | |
238 macro(StoreCM) | |
239 macro(StorePConditional) | |
420
a1980da045cc
6462850: generate biased locking code in C2 ideal graph
kvn
parents:
196
diff
changeset
|
240 macro(StoreIConditional) |
0 | 241 macro(StoreLConditional) |
242 macro(StoreD) | |
243 macro(StoreF) | |
244 macro(StoreI) | |
245 macro(StoreL) | |
246 macro(StoreP) | |
113
ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents:
63
diff
changeset
|
247 macro(StoreN) |
6848
8e47bac5643a
7054512: Compress class pointers after perm gen removal
roland
parents:
6823
diff
changeset
|
248 macro(StoreNKlass) |
0 | 249 macro(StrComp) |
681 | 250 macro(StrEquals) |
251 macro(StrIndexOf) | |
0 | 252 macro(SubD) |
253 macro(SubF) | |
254 macro(SubI) | |
255 macro(SubL) | |
256 macro(TailCall) | |
257 macro(TailJump) | |
258 macro(TanD) | |
259 macro(ThreadLocal) | |
260 macro(Unlock) | |
261 macro(URShiftI) | |
262 macro(URShiftL) | |
263 macro(XorI) | |
264 macro(XorL) | |
265 macro(Vector) | |
266 macro(AddVB) | |
267 macro(AddVS) | |
268 macro(AddVI) | |
269 macro(AddVL) | |
270 macro(AddVF) | |
271 macro(AddVD) | |
272 macro(SubVB) | |
273 macro(SubVS) | |
274 macro(SubVI) | |
275 macro(SubVL) | |
276 macro(SubVF) | |
277 macro(SubVD) | |
6614
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
278 macro(MulVS) |
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
279 macro(MulVI) |
0 | 280 macro(MulVF) |
281 macro(MulVD) | |
282 macro(DivVF) | |
283 macro(DivVD) | |
6823 | 284 macro(LShiftCntV) |
285 macro(RShiftCntV) | |
0 | 286 macro(LShiftVB) |
287 macro(LShiftVS) | |
288 macro(LShiftVI) | |
6614
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
289 macro(LShiftVL) |
6179
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
290 macro(RShiftVB) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
291 macro(RShiftVS) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
292 macro(RShiftVI) |
6614
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
293 macro(RShiftVL) |
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
294 macro(URShiftVB) |
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
295 macro(URShiftVS) |
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
296 macro(URShiftVI) |
006050192a5a
6340864: Implement vectorization optimizations in hotspot-server
kvn
parents:
6179
diff
changeset
|
297 macro(URShiftVL) |
0 | 298 macro(AndV) |
299 macro(OrV) | |
300 macro(XorV) | |
6179
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
301 macro(LoadVector) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
302 macro(StoreVector) |
0 | 303 macro(Pack) |
304 macro(PackB) | |
305 macro(PackS) | |
306 macro(PackI) | |
307 macro(PackL) | |
308 macro(PackF) | |
309 macro(PackD) | |
6179
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
310 macro(Pack2L) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
311 macro(Pack2D) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
312 macro(ReplicateB) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
313 macro(ReplicateS) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
314 macro(ReplicateI) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
315 macro(ReplicateL) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
316 macro(ReplicateF) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
317 macro(ReplicateD) |
0 | 318 macro(Extract) |
319 macro(ExtractB) | |
6179
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
320 macro(ExtractUB) |
8c92982cbbc4
7119644: Increase superword's vector size up to 256 bits
kvn
parents:
6143
diff
changeset
|
321 macro(ExtractC) |
0 | 322 macro(ExtractS) |
323 macro(ExtractI) | |
324 macro(ExtractL) | |
325 macro(ExtractF) | |
326 macro(ExtractD) |