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; and reserving spare areas between the module TLS blocks for adding new module thread variables.