*DECK MCHKPTR
USETEXT NIPDEF
USETEXT DEQCOM
USETEXT FREETAB
PROC MCHKPTR; # CHECK LOCATION MCHK IN MOVED
RANGE OR NOT,UPDATE IT IF YES#
STARTIMS;
#
*1DC MCHKPTR
* 1. PROC NAME AUTHOR DATE
* MCHKPTR Y. HSIEH 77/02/10
*
* 2. FUNCTIONAL DESCRIPTIONS.
* THIS ROUTINE IS RESPONSIBLE FOR CHECKING WHETHER
* THE CONTENT OF ITEM MCHK IS IN THE RANGE OF BUFFERS
* JUST MOVED BY MGBGCLT OR NOT.
* IF YES, UPDATE MCHG TO THE CORRESPONDING POSITION
* WITHIN NEW RANGE.
*
* 3. METHOD USED.
* ALL THE PARMETERS ARE IN COMMON BLOCKS IN NIP LOW CORE.
* FOR OVERLAPPING CASE, DO NOT UPDATE MCHG IF IT IS UPDATED
* BY THE PRECEEDING BUFFER IN THE RANGE JUST MOVED.
*
* 4. ENTRY PARAMETERS. NONE
*
* 5. EXIT PARAMETER.
* MCHG LOCATION IN MOVED RANGE WILL BE UPDATED.
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED.
* FREETAB NIPDEF OSIZE
*
* 7. ROUTINES CALLED.
* XTRACE RECORD CALL
*
* 8. DAYFILE MESSAGES. NONE
*
* W A R N I N G - THE TOTAL SIZE OF THE GARBAGE COLLECTION
* ROUTINES (MAJPTR, MCHKPTR,MGBGCLT,
* MDRPTR, AND XCHKPCR) WITH THE DELAY
* OPTION TURNED ON
* CAN NOT EXCEED THE PRIMARY AND SECONDARY
*CALL OSIZE
*
* THIS PROCEDURE IS CALLED BY MAJPTR
*
#
STOPIMS;
#
PARAMETERS
#
# INPUT PARAMETERS #
# NONE #
# OUTPUT PARAMETERS #
# ITEM MCHG WILL BE CHANGED IF IN MOVED RANGE #
#
EXTERNAL VARIABLES
#
XREF BEGIN
PROC XTRACE; # RECORD CALL #
END
#
LOCAL VARIABLES NONE
#
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("MCHKP") ;
CONTROL FI;
IF MCHG GQ MOLD AND MCHG LS MSIZE AND MCHG GR MCUR
THEN
BEGIN
MCHG = MNEW + MCHG - MOLD;
END
RETURN;
END
TERM