/* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package com.oracle.max.vm.ext.vma; import com.sun.max.vm.actor.member.*; /** * The VM executes an (extended) bytecode instruction set and the execution can be subject to advice, * specified by the methods below. * * Auto-generated by {@link BytecodeAdviceGenerator}. */ public abstract class BytecodeAdvice { // START GENERATED CODE // EDIT AND RUN BytecodeAdviceGenerator.main() TO MODIFY public abstract void adviseBeforeConstLoad(int bci, Object value); public abstract void adviseBeforeConstLoad(int bci, long value); public abstract void adviseBeforeConstLoad(int bci, float value); public abstract void adviseBeforeConstLoad(int bci, double value); public abstract void adviseBeforeLoad(int bci, int index); public abstract void adviseBeforeArrayLoad(int bci, Object array, int index); public abstract void adviseBeforeStore(int bci, int index, long value); public abstract void adviseBeforeStore(int bci, int index, float value); public abstract void adviseBeforeStore(int bci, int index, double value); public abstract void adviseBeforeStore(int bci, int index, Object value); public abstract void adviseBeforeArrayStore(int bci, Object array, int index, long value); public abstract void adviseBeforeArrayStore(int bci, Object array, int index, float value); public abstract void adviseBeforeArrayStore(int bci, Object array, int index, double value); public abstract void adviseBeforeArrayStore(int bci, Object array, int index, Object value); public abstract void adviseBeforeStackAdjust(int bci, int opcode); public abstract void adviseBeforeOperation(int bci, int opcode, long op1, long op2); public abstract void adviseBeforeOperation(int bci, int opcode, float op1, float op2); public abstract void adviseBeforeOperation(int bci, int opcode, double op1, double op2); public abstract void adviseBeforeConversion(int bci, int opcode, long op); public abstract void adviseBeforeConversion(int bci, int opcode, float op); public abstract void adviseBeforeConversion(int bci, int opcode, double op); public abstract void adviseBeforeIf(int bci, int opcode, int op1, int op2, int targetBci); public abstract void adviseBeforeIf(int bci, int opcode, Object op1, Object op2, int targetBci); public abstract void adviseBeforeGoto(int bci, int targetBci); public abstract void adviseBeforeReturn(int bci, long value); public abstract void adviseBeforeReturn(int bci, float value); public abstract void adviseBeforeReturn(int bci, double value); public abstract void adviseBeforeReturn(int bci, Object value); public abstract void adviseBeforeReturn(int bci); public abstract void adviseBeforeGetStatic(int bci, Object staticTuple, FieldActor f); public abstract void adviseBeforePutStatic(int bci, Object staticTuple, FieldActor f, Object value); public abstract void adviseBeforePutStatic(int bci, Object staticTuple, FieldActor f, double value); public abstract void adviseBeforePutStatic(int bci, Object staticTuple, FieldActor f, long value); public abstract void adviseBeforePutStatic(int bci, Object staticTuple, FieldActor f, float value); public abstract void adviseBeforeGetField(int bci, Object object, FieldActor f); public abstract void adviseBeforePutField(int bci, Object object, FieldActor f, Object value); public abstract void adviseBeforePutField(int bci, Object object, FieldActor f, double value); public abstract void adviseBeforePutField(int bci, Object object, FieldActor f, long value); public abstract void adviseBeforePutField(int bci, Object object, FieldActor f, float value); public abstract void adviseBeforeInvokeVirtual(int bci, Object object, MethodActor methodActor); public abstract void adviseBeforeInvokeSpecial(int bci, Object object, MethodActor methodActor); public abstract void adviseBeforeInvokeStatic(int bci, Object object, MethodActor methodActor); public abstract void adviseBeforeInvokeInterface(int bci, Object object, MethodActor methodActor); public abstract void adviseBeforeArrayLength(int bci, Object array, int length); public abstract void adviseBeforeThrow(int bci, Object object); public abstract void adviseBeforeCheckCast(int bci, Object object, Object classActor); public abstract void adviseBeforeInstanceOf(int bci, Object object, Object classActor); public abstract void adviseBeforeMonitorEnter(int bci, Object object); public abstract void adviseBeforeMonitorExit(int bci, Object object); public abstract void adviseAfterLoad(int bci, int index, Object value); public abstract void adviseAfterArrayLoad(int bci, Object array, int index, Object value); public abstract void adviseAfterNew(int bci, Object object); public abstract void adviseAfterNewArray(int bci, Object object, int length); public abstract void adviseAfterMultiNewArray(int bci, Object object, int[] lengths); public abstract void adviseAfterMethodEntry(int bci, Object object, MethodActor methodActor); // END GENERATED CODE }