A shared library optimization process relocates a code block in a
platform-neutral intermediate representation (IR) of a library into the IR
of another library. The shared library optimization process preserves the
original control flow that passed through the relocated code block using
forwarding pointers and address substitution. The shared library
optimization process can also relocate code blocks from multiple shared
libraries into an existing shared library, or from one shared library into
an empty shared library. The shared libraries to be optimized are
specified by a user, as is the type of optimization to be performed.
Un processus d'optimisation de bibliothèque partagée replace un bloc de code dans une représentation intermédiaire plateforme-neutre (IRE) d'une bibliothèque dans l'IR d'une autre bibliothèque. Le processus d'optimisation de bibliothèque partagée préserve l'écoulement original de commande qui a traversé le bloc replacé de code en utilisant les indicateurs de expédition et la substitution d'adresse. Le processus d'optimisation de bibliothèque partagée peut également replacer des blocs de code des bibliothèques partagées multiples dans une bibliothèque partagée existante, ou d'une bibliothèque partagée dans une bibliothèque partagée vide. Les bibliothèques partagées à optimiser sont indiquées par un utilisateur, de même que le type d'optimisation à exécuter.