예제 #1
0
        public override CodeAddress call(int jumpIndex)
        {
            ContinuationFrame frame = Cont.cont;

            for (int i = 0; i < Reg.NREGS; ++i)
            {
                Reg.setRegister(i, frame.getSlot(i + 1));
            }
            if (frame.getSlot(Reg.LASTREG + 3) == Factory.True)
            {
                Reg.Result = frame.getSlot(Reg.LASTREG + 2);
            }
            Procedure p0 = Reg.ProcRegister0;

            Cont.cont.checkPop(Reg.NREGS + 2, singletonProcedure);
            Cont.pop();
            return(Call.call(p0.entrypoint, jumpIndex));
        }