Package com.google.test.metric.method.op.stack

Examples of com.google.test.metric.method.op.stack.RetSub


  public void testMakeSureThatJsrWhichCallsItselfDoesNotRecurseForever() throws Exception {
    Block main = new Block("main");
    Block sub = new Block("sub");
    main.addOp(new JSR(0, sub));
    main.addOp(new JSR(0, sub));
    sub.addOp(new RetSub(1));
    sub.addNextBlock(main);
    Stack2Turing converter = new Stack2Turing(main);
    converter.translate(); // Assert no exceptions and that we don't get into infinite recursion
  }
View Full Code Here


    decomposer.jumpSubroutine(sub, 0);
    decomposer.addOp(load(2));
    decomposer.addOp(new Return(0, VOID));
    decomposer.label(sub);
    decomposer.addOp(load(3));
    decomposer.addOp(new RetSub(0));
    decomposer.decomposeIntoBlocks();

    Block mainBlock = decomposer.getMainBlock();
    assertEquals(0, mainBlock.getNextBlocks().size());
    List<StackOperation> operations = mainBlock.getOperations();
View Full Code Here

        break;

      case Opcodes.RET :
        recorder.add(new Runnable() {
          public void run() {
            block.addOp(new RetSub(lineNumber));
          }
        });
        break;
      default :
        throw new UnsupportedOperationException("opcode: " + opcode);
View Full Code Here

    decomposer.jumpSubroutine(sub, 0);
    decomposer.addOp(load(2));
    decomposer.addOp(new Return(0, VOID));
    decomposer.label(sub);
    decomposer.addOp(load(3));
    decomposer.addOp(new RetSub(0));
    decomposer.done();

    Block mainBlock = decomposer.getMainBlock();
    assertEquals(0, mainBlock.getNextBlocks().size());
    List<StackOperation> operations = mainBlock.getOperations();
View Full Code Here

        break;

      case Opcodes.RET :
        recorder.add(new Runnable() {
          public void run() {
            block.addOp(new RetSub(lineNumber));
          }
        });
        break;
      default :
        throw new UnsupportedOperationException("opcode: " + opcode);
View Full Code Here

TOP

Related Classes of com.google.test.metric.method.op.stack.RetSub

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.