comparison graal/Compiler/src/com/sun/c1x/ir/ValueVisitor.java @ 2507:9ec15d6914ca

Pull over of compiler from maxine repository.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 27 Apr 2011 11:43:22 +0200
parents
children
comparison
equal deleted inserted replaced
2506:4a3bf8a5bf41 2507:9ec15d6914ca
1 /*
2 * Copyright (c) 2009, 2011, 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 package com.sun.c1x.ir;
24
25 /**
26 * The {@link ValueVisitor} implements one half of the visitor
27 * pattern for {@linkplain Value IR values}, allowing clients to implement functionality
28 * depending on the type of an value without doing type tests.
29 *
30 * @author Ben L. Titzer
31 */
32 public abstract class ValueVisitor {
33 // Checkstyle: stop
34 public abstract void visitArithmeticOp(ArithmeticOp i);
35 public abstract void visitArrayCopy(ArrayCopy arrayCopy);
36 public abstract void visitArrayLength(ArrayLength i);
37 public abstract void visitBase(Base i);
38 public abstract void visitBoundsCheck(BoundsCheck boundsCheck);
39 public abstract void visitBlockBegin(BlockBegin i);
40 public abstract void visitBreakpointTrap(BreakpointTrap i);
41 public abstract void visitCheckCast(CheckCast i);
42 public abstract void visitCompareOp(CompareOp i);
43 public abstract void visitCompareAndSwap(CompareAndSwap i);
44 public abstract void visitConstant(Constant i);
45 public abstract void visitConvert(Convert i);
46 public abstract void visitExceptionObject(ExceptionObject i);
47 public abstract void visitGoto(Goto i);
48 public abstract void visitIf(If i);
49 public abstract void visitIfOp(IfOp i);
50 public abstract void visitInstanceOf(InstanceOf i);
51 public abstract void visitIntrinsic(Intrinsic i);
52 public abstract void visitInvoke(Invoke i);
53 public abstract void visitLoadField(LoadField i);
54 public abstract void visitLoadIndexed(LoadIndexed i);
55 public abstract void visitIncrementRegister(IncrementRegister i);
56 public abstract void visitInfopoint(Infopoint i);
57 public abstract void visitLoadPointer(LoadPointer i);
58 public abstract void visitAllocateStackHandle(StackHandle i);
59 public abstract void visitLoadRegister(LoadRegister i);
60 public abstract void visitLocal(Local i);
61 public abstract void visitLogicOp(LogicOp i);
62 public abstract void visitLookupSwitch(LookupSwitch i);
63 public abstract void visitMemoryBarrier(MemoryBarrier memoryBarrier);
64 public abstract void visitMonitorAddress(MonitorAddress monitorAddress);
65 public abstract void visitMonitorEnter(MonitorEnter i);
66 public abstract void visitMonitorExit(MonitorExit i);
67 public abstract void visitNativeCall(NativeCall i);
68 public abstract void visitNegateOp(NegateOp i);
69 public abstract void visitNewInstance(NewInstance i);
70 public abstract void visitNewMultiArray(NewMultiArray i);
71 public abstract void visitNewObjectArray(NewObjectArray i);
72 public abstract void visitNewObjectArrayClone(NewObjectArrayClone newObjectArrayClone);
73 public abstract void visitNewTypeArray(NewTypeArray i);
74 public abstract void visitNullCheck(NullCheck i);
75 public abstract void visitOsrEntry(OsrEntry i);
76 public abstract void visitPause(Pause i);
77 public abstract void visitPhi(Phi i);
78 public abstract void visitResolveClass(ResolveClass i);
79 public abstract void visitReturn(Return i);
80 public abstract void visitShiftOp(ShiftOp i);
81 public abstract void visitSignificantBit(SignificantBitOp i);
82 public abstract void visitStackAllocate(StackAllocate i);
83 public abstract void visitStoreField(StoreField i);
84 public abstract void visitStoreIndexed(StoreIndexed i);
85 public abstract void visitStorePointer(StorePointer i);
86 public abstract void visitStoreRegister(StoreRegister i);
87 public abstract void visitTableSwitch(TableSwitch i);
88 public abstract void visitTemplateCall(TemplateCall templateCall);
89 public abstract void visitThrow(Throw i);
90 public abstract void visitTypeEqualityCheck(TypeEqualityCheck typeEqualityCheck);
91 public abstract void visitUnsafeCast(UnsafeCast i);
92 public abstract void visitUnsafeGetObject(UnsafeGetObject i);
93 public abstract void visitUnsafeGetRaw(UnsafeGetRaw i);
94 public abstract void visitUnsafePrefetchRead(UnsafePrefetchRead i);
95 public abstract void visitUnsafePrefetchWrite(UnsafePrefetchWrite i);
96 public abstract void visitUnsafePutObject(UnsafePutObject i);
97 public abstract void visitUnsafePutRaw(UnsafePutRaw i);
98 public abstract void visitUnsignedCompareOp(UnsignedCompareOp i);
99 }