2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0.
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 package gov.nasa.jpf.jvm;
22 * interface to process bytecode
24 public interface JVMByteCodeReader {
27 void aload(int localVarIndex);
33 void astore(int localVarIndex);
40 void anewarray(int cpClassIndex);
50 void checkcast(int cpClassIndex);
63 void dload(int localVarIndex);
72 void dstore(int localVarIndex);
97 void fload(int localVarIndex);
106 void fstore(int localVarIndex);
113 void getfield(int cpFieldRefIndex);
114 void getstatic(int cpFieldRefIndex);
115 void goto_(int pcOffset);
116 void goto_w (int pcOffset);
136 void if_acmpeq(int pcOffset);
137 void if_acmpne(int pcOffset);
138 void if_icmpeq(int pcOffset);
139 void if_icmpne(int pcOffset);
140 void if_icmplt(int pcOffset);
141 void if_icmpge(int pcOffset);
142 void if_icmpgt(int pcOffset);
143 void if_icmple(int pcOffset);
144 void ifeq(int pcOffset);
145 void ifne(int pcOffset);
146 void iflt(int pcOffset);
147 void ifge(int pcOffset);
148 void ifgt(int pcOffset);
149 void ifle(int pcOffset);
150 void ifnonnull(int pcOffset);
151 void ifnull(int pcOffset);
152 void iinc(int localVarIndex, int incConstant);
153 void iload(int localVarIndex);
160 void instanceof_(int cpClassIndex);
161 void invokeinterface (int cpInterfaceMethodRefIndex, int count, int zero);
162 void invokedynamic (int cpInvokeDynamicIndex);
163 void invokespecial (int cpMethodRefIndex);
164 void invokestatic (int cpMethodRefIndex);
165 void invokevirtual (int cpMethodRefIndex);
171 void istore(int localVarIndex);
180 void jsr(int pcOffset);
181 void jsr_w(int pcOffset);
193 void ldc_(int cpIntOrFloatOrStringIndex);
194 void ldc_w_(int cpIntOrFloatOrStringIndex);
195 void ldc2_w(int cpLongOrDoubleIndex);
197 void lload(int localVarIndex);
204 void lookupswitch(int defaultPcOffset, int nEntries);
205 void lookupswitchEntry(int index, int match, int pcOffset);
211 void lstore(int localVarIndex);
222 void multianewarray(int cpClassIndex, int dimensions);
224 void new_(int cpClassIndex);
225 void newarray(int typeCode);
230 void putfield(int cpFieldRefIndex);
231 void putstatic(int cpFieldRefIndex);
233 void ret(int localVarIndex);
238 void sipush(int val);
241 void tableswitch(int defaultPcOffset, int low, int high);
242 void tableswitchEntry(int value, int pcOffset);
246 void unknown(int bytecode);