Patent ID: 8839225
Filing Date: 2014-09-16
Classification: G06F

Abstract:
1. A method for concurrently loading a plurality of new modules while code of a plurality of modules of an original computer program is loaded and executed on a computer system, the method comprising: allocating a module thread local storage (TLS) block for each thread within an initial computer program, wherein the module TLS blocks are large enough to hold all module thread variables that are loaded or to be loaded, and wherein the module TLS blocks are allocated consecutively, with the same layout for each thread; providing constant offsets between module TLS block pointers corresponding to the module TLS blocks and the module thread variables for all of the threads; reserving spare areas between the module TLS blocks for adding new module thread variables; and loading the plurality of new modules by replacing one or more of the plurality of modules of the original computer program with the plurality of new modules, wherein the loading step comprises: