Browse Prior Art Database

Technique of Creating the Dynamic Changeable Jump Table

IP.com Disclosure Number: IPCOM000113203D
Original Publication Date: 1994-Jul-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 45K

Publishing Venue

IBM

Related People

Andoh, Y: AUTHOR [+4]

Abstract

Disclosed is a technique for changing a running program dynamically through the dynamic changeable jump table. The jump table is consisted of a series of entry points, i.e., the JMP instructions. The program can change the jump table itself during running without special considerations.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 91% of the total text.

Technique of Creating the Dynamic Changeable Jump Table

      Disclosed is a technique for changing a running program
dynamically through the dynamic changeable jump table.  The jump
table is consisted of a series of entry points, i.e., the JMP
instructions.  The program can change the jump table itself during
running without special considerations.

      The technique is that each entry of the jump table is only one
instruction, not several instructions.  The Figure shows the example
jump table.  Each entry has one JMP instruction.  When the running
program works with the jump table and intends to change the jump
table, the program only needs to consider the following rules.  The
flowchart shows a sample:

1.  Disable thread switching for the current process and interrupts
    before changing the jump table,  and enable them after changing.

2.  Do not access the jump table until changing process completed,
    for instance,  not to use subroutine calls in the changing
    process.

      It is not necessary other special rules in the running program
for updating the jump table.  That is because it has a guarantee that
no another program accesses the jump table after prohibiting thread
switching and disabling interrupts.  Besides the jump table can
include an instruction that passes the control to an interrupt
handler.  Also, it does not depend on a caller instruction of a
subroutine in the program.

      In accordance with the techniq...