package org.jikesrvm.cellspu;
import org.jikesrvm.scheduler.greenthreads.VM_SubArchMigration;
/**
* Communication values used by spu -> ppu communication. These should be the
* same as those defined in spuDefs.h
*
*/
public interface VM_ComConstants {
public static final int ACK = 0x1;
public static final int NACK = 0x2;
public static final int ERR_TOO_MANY_PARAMS = 0x3;
public static final int ERR_METHOD_NOT_PREPARED= 0x4;
public static final int ERR_METHOD_NOT_LOADED = 0x5;
public static final int ERR_PARAMS_NOT_LOADED = 0x6;
public static final int ERR_UNKNOWN_CMD = 0x7;
public static final int RUNTIME_COPY_COMPLETE = 0x10;
public static final int JAVA_VM_STARTED = 0x11;
public static final int SET_PROCESSOR_REG = 0x12;
public static final int LOAD_STATIC_METHOD = 0x20;
public static final int LOAD_WORD_PARAM = 0x21;
public static final int LOAD_DOUBLE_PARAM = 0x22;
public static final int RUN_METHOD_RETURNING_VOID = VM_SubArchMigration.RUN_METHOD_RETURNING_VOID;
public static final int RUN_METHOD_RETURNING_INT = VM_SubArchMigration.RUN_METHOD_RETURNING_INT;
public static final int RUN_METHOD_RETURNING_FLOAT = VM_SubArchMigration.RUN_METHOD_RETURNING_FLOAT;
public static final int RUN_METHOD_RETURNING_LONG = VM_SubArchMigration.RUN_METHOD_RETURNING_LONG;
public static final int RUN_METHOD_RETURNING_DOUBLE= VM_SubArchMigration.RUN_METHOD_RETURNING_DOUBLE;
public static final int RUN_METHOD_RETURNING_REF = VM_SubArchMigration.RUN_METHOD_RETURNING_REF;
public static final int LOAD_CLASS_STATICS = 0x29;
public static final int RETURN_VALUE_V = 0x30; // returning a integer value
public static final int RETURN_VALUE_I = 0x31; // returning a integer value
public static final int RETURN_VALUE_L_UPPER = 0x32; // returning a long value (upper word)
public static final int RETURN_VALUE_L_LOWER = 0x33; // returning a long value (lower word)
public static final int RETURN_VALUE_F = 0x34; // returning a float value
public static final int RETURN_VALUE_D_UPPER = 0x35; // returning a double value (upper word)
public static final int RETURN_VALUE_D_LOWER = 0x36; // returning a double value (lower word)
public static final int RETURN_VALUE_R = 0x37; // returning a reference value
public static final int TRAP_MESSAGE = 0x40;
public static final int CONSOLE_WRITE_CHAR = 0x41;
public static final int CONSOLE_WRITE_INT = 0x42;
public static final int CONSOLE_WRITE_INT_BOTH = 0x43;
public static final int CONSOLE_WRITE_INT_HEX = 0x44;
public static final int CONSOLE_WRITE_LONG = 0x45;
public static final int CONSOLE_WRITE_LONG_BOTH= 0x46;
public static final int CONSOLE_WRITE_LONG_HEX = 0x47;
public static final int CONSOLE_WRITE_DOUBLE = 0x48;
public static final int FAKE_TRAP_MESSAGE = 0x49;
public static final int FAKE_TRAP_MESSAGE_STR = 0x4A;
public static final int FAKE_TRAP_MESSAGE_INT = 0x4B;
}