lojix/logic/src/main/com/thesett/aima/logic/fol/bytecode/BaseCodeMachine.java
public CallPoint reserveCallPoint(int name, int length)
    {
        // Work out where the code will go and advance the insertion point beyond its end, so that additional code
        // will be added beyond the reserved space.
        int address = getCodeInsertionPoint();
        advanceCodeInsertionPoint(length);

        // Create a call point for the reserved space.
        CallPoint callPoint = new CallPoint(address, length, name);

        // Add the call point to the symbol table under the interned name.
        symbolTable.put(name, getCallPointSymbolField(), callPoint);

        return callPoint;
    }
public CallPoint reserveCallPoint(int name, int length)
    {
        // Work out where the code will go and advance the insertion point beyond its end, so that additional code
        // will be added beyond the reserved space.
        int address = getCodeInsertionPoint();
        advanceCodeInsertionPoint(length);

        // Create a call point for the reserved space.
        CallPoint callPoint = new CallPoint(address, length, name);

        // Add the call point to the symbol table under the interned name.
        symbolTable.put(name, getCallPointSymbolField(), callPoint);

        return callPoint;
    }
public CallPoint reserveCallPoint ( int name , int length ) { // Work out where the code will go and advance the insertion point beyond its end, so that additional code // will be added beyond the reserved space. int address = getCodeInsertionPoint ( ) ; advanceCodeInsertionPoint ( length ) ; // Create a call point for the reserved space. CallPoint callPoint = new CallPoint ( address , length , name ) ; // Add the call point to the symbol table under the interned name. symbolTable . put ( name , getCallPointSymbolField ( ) , callPoint ) ; return callPoint ; }
Reserves a call point for a block of named callable code. The size of the block of code must be known fully in
advance. If the named block already has a call point, this will replace it with a new one.

<p/>Adding code into a code machine may be a two-stage process, first reserve call-points for all blocks of code,
then add the blocks of code into the machine, resolving internal call points within the code onto previously
reserved call points as this is done. A two-stage process is required to support recursive or mutually recursive
callable procedures.

@param  name   The interned name of the procedure to create a call point for.
@param  length The length of the procedures code.

@return A new call point for the procedure.
Reserves a call point for a block of named callable code . The size of the block of code must be known fully in advance . If the named block already has a call point this will replace it with a new one .