コード例 #1
0
ファイル: ByteCode_areturn.cs プロジェクト: jdewald/toyvm
 public override void execute(StackFrame frame)
 {
     Object returnVal = frame.popOperand();
     if (returnVal is NullValue || returnVal is Heap.HeapReference || returnVal is ClassFile || returnVal is Thread){
         frame.getPrev().pushOperand(returnVal);
     }
     else throw new ToyVMException("areturn inconsistent " + returnVal,frame);
 }
コード例 #2
0
ファイル: ByteCode_dreturn.cs プロジェクト: jdewald/toyvm
 public override void execute(StackFrame frame)
 {
     frame.getPrev().pushOperand((double) frame.popOperand());
 }