51 lines
737 B
Plaintext
51 lines
737 B
Plaintext
package slangc.bytecode;
|
|
|
|
public interface MinorOpcode {
|
|
public static enum CALL implements MinorOpcode {
|
|
STATIC,
|
|
INSTANCE,
|
|
NEW
|
|
}
|
|
|
|
public static enum LOADSTORE implements MinorOpcode {
|
|
LOAD_CONSTANT,
|
|
RESERVED,
|
|
LOAD_LOCAL,
|
|
STORE_LOCAL,
|
|
LOAD_INSTANCE,
|
|
STORE_INSTANCE,
|
|
LOAD_ARRAY,
|
|
STORE_ARRAY,
|
|
LOAD_STATIC,
|
|
STORE_STATIC,
|
|
}
|
|
|
|
public static enum CONVERT implements MinorOpcode {
|
|
TO_INT8,
|
|
TO_INT16,
|
|
TO_INT32,
|
|
TO_INT64,
|
|
TO_UINT8,
|
|
TO_UINT16,
|
|
TO_UINT32,
|
|
TO_UINT64,
|
|
TO_FLOAT32,
|
|
TO_FLOAT64,
|
|
TO_STRING,
|
|
TO_OBJECT,
|
|
TO_DUCK
|
|
}
|
|
|
|
public static enum ALU implements MinorOpcode {
|
|
ADD,
|
|
SUB,
|
|
SHL,
|
|
SHRX,
|
|
SHRZ,
|
|
MUL,
|
|
DIV,
|
|
MOD,
|
|
|
|
}
|
|
}
|