A method for managing position independent code using a software framework
is presented. A software framework provides the ability to cache multiple
plug-in's which are loaded in a processor's local storage. A processor
receives a command or data stream from another processor, which includes
information corresponding to a particular plug-in. The processor uses the
plug-in identifier to load the plug-in from shared memory into local
memory before it is required in order to minimize latency. When the data
stream requests the processor to use the plug-in, the processor retrieves
a location offset corresponding to the plug-in and applies the plug-in to
the data stream. A plug-in manager manages an entry point table that
identifies memory locations corresponding to each plug-in and, therefore,
plug-ins may be placed anywhere in a processor's local memory.