lojix/wam_prolog/src/main/com/thesett/aima/logic/fol/wam/machine/WAMResolvingJavaMachine.java
private boolean internalCall_1(int numPerms)
    {
        int pn = setupCall_1();

        if (pn == -1)
        {
            return false;
        }

        // Make the call.
        // STACK[E + 2] <- numPerms
        data.put(ep + 2, numPerms);

        // CP <- P + instruction_size(P)
        cp = ip + 7;

        /*trace.fine(ip + ": (CALL) " + pn + ", " + numPerms + " (cp = " + cp + ")]");*/

        // B0 <- B
        b0 = bp;

        // P <- @(p/n)
        ip = pn;

        return true;
    }
private boolean internalCall_1(int numPerms)
    {
        int pn = setupCall_1();

        if (pn == -1)
        {
            return false;
        }

        // Make the call.
        // STACK[E + 2] <- numPerms
        data.put(ep + 2, numPerms);

        // CP <- P + instruction_size(P)
        cp = ip + 7;

        /*trace.fine(ip + ": (CALL) " + pn + ", " + numPerms + " (cp = " + cp + ")]");*/

        // B0 <- B
        b0 = bp;

        // P <- @(p/n)
        ip = pn;

        return true;
    }
Implements the 'call/1' predicate.

@param  numPerms The number of permanent variables remaining in the environment.

@return <tt>true</tt> if the call succeeded, and <tt>false</tt> if it failed.