/*
*I probably should not be releasing my code on my own JVM implementation yet, but I wanted to show my JVM design. This is not yet *finished.
*/
#pragma once
#include "frame.h"
class Java : public Object {
public:
Java(std::vector <void> code);
~Java();
void run();
private:
std::vector <Object> code;
void run0(byte b);
static void aaload();
static void aastore(); //
static void aconst_null(); // push null onto current frame operand stack
static void aload();//push reference onto current frame operand stack
static void aload_0();
static void aload_1();
static void aload_2();
static void aload_3();
static void anewarray();
static void areturn();
static void arraylength();
static void astore();
static void astore_0();
static void astore_1();
static void astore_2();
static void astore_3();
static void athrow();
static void baload();
static void bastore();
static void bipush();
static void breakpovoid();
static void caload();
static void castore();
static void checkcast();
static void d2f();
static void d2i();
static void d2l();
static void dadd();
static void daload();
static void dastore();
static void dcmpg();
static void dcmpl();
static void dconst_0();
static void dconst_1();
static void ddiv();
static void dload();
static void dload_0();
static void dload_1();
static void dload_2();
static void dload_3();
static void dmul();
static void dneg();
static void drem();
static void dreturn();
static void dstore();
static void dstore_0();
static void dstore_1();
static void dstore_2();
static void dstore_3();
static void dsub();
static void dup();
static void dup_x1();
static void dup_x2();
static void dup2();
static void dup2_x1();
static void dup2_x2();
static void f2d();
static void f2i();
static void f2l();
static void fadd();
static void faload();
static void fastore();
static void fcmpg();
static void fcmpl();
static void fconst_0();
static void fconst_1();
static void fconst_2();
static void fdiv();
static void fload();
static void fload_0();
static void fload_1();
static void fload_2();
static void fload_3();
static void fmul();
static void fneg();
static void frem();
static void freturn();
static void fstore();
static void fstore_0();
static void fstore_1();
static void fstore_2();
static void fstore_3();
static void fsub();
static void getfield();
static void getstatic();
static void goto0();
static void goto_w();
static void i2b();
static void i2c();
static void i2d();
static void i2f();
static void i2l();
static void i2s();
static void iadd();
static void iaload();
static void iand();
static void iastore();
static void iconst_m1();
static void iconst_0();
static void iconst_1();
static void iconst_2();
static void iconst_3();
static void iconst_4();
static void iconst_5();
static void idiv();
static void if_acmpeq();
static void if_acmpne();
static void if_icmpeq();
static void if_icmpge();
static void if_icmpgt();
static void if_icmple();
static void if_icmplt();
static void if_icmpne();
static void ifeq();
static void ifge();
static void ifgt();
static void ifle();
static void iflt();
static void ifne();
static void ifnonnull();
static void ifnull();
static void iinc();
static void iload();
static void iload_0();
static void iload_1();
static void iload_2();
static void iload_3();
static void impdep1();
static void impdep2();
static void imul();
static void ineg();
static void instanceof();
static void invokedynamic();
static void invokeinterface();
static void invokespecial();
static void invokestatic();
static void invokevirtual();
static void ior();
static void irem();
static void ireturn();
static void ishl();
static void ishr();
static void istore();
static void istore_0();
static void istore_1();
static void istore_2();
static void istore_3();
static void isub();
static void iushr();
static void ixor();
static void jsr();
static void jsr_w();
static void l2d();
static void l2f();
static void l2i();
static void ladd();
static void laload();
static void land();
static void lastore();
static void lcmp();
static void lconst_0();
static void lconst_1();
static void ldc();
static void ldc_w();
static void ldc2_w();
static void ldiv();
static void lload();
static void lload_0();
static void lload_1();
static void lload_2();
static void lload_3();
static void lmul();
static void lneg();
static void lookupswitch();
static void lor();
static void lrem();
static void lreturn();
static void lshl();
static void lshr();
static void lstore();
static void lstore_0();
static void lstore_1();
static void lstore_2();
static void lstore_3();
static void lsub();
static void lushr();
static void lxor();
static void monitorenter();
static void monitorexit();
static void multianewarray();
static void new0();
static void newarray();
static void nop();
static void pop();
static void pop2();
static void putfield();
static void putstatic();
static void ret();
static void return0();
static void saload();
static void sastore();
static void sipush();
static void swap();
static void tableswitch();
static void wide();
};
Comments