Appeal 2007-1959 Application 10/039,789 6. FIG. 2 of Poulsen is a flowchart of the algorithm performed by translation means 120 of Figure 1. The inputs to the algorithm are program 100 and privatization specification 110; the output is translated program 130 (col. 8, ll. 46-49). 7. In Figure 2 of Poulsen, Step 200 determines if there are any more procedures left to be processed in program 100. If not, the algorithm is complete; otherwise, the next procedure is processed beginning at step 210. Step 210 determines if there are any more global storage objects to be privatized in the current procedure. If not, further procedures are considered at step 200; otherwise, the next global storage object in the current procedure is privatized beginning at step 220. Step 220 declares a privatizable storage object (i.e., a structure), which encapsulates the current global storage object, and declares a pointer to that structure (col. 8, ll. 51-61). 8. Step 240 in Figure 2 determines if there are any more parallel regions left to consider in the current procedure. If not, further global storage objects in the current procedure are considered at step 210; otherwise, the next parallel region in the current procedure is processed beginning at step 250 by translating the references to the current global storage object into references to the structure declared in step 220. Step 260 inserts a library call, to initialize library data structures for the current parallel region, at the beginning of the parallel region, while step 270 inserts a library call, to initialize the pointer declared in step 220 to point to the appropriate thread-private memory for the current global storage object, at the beginning of the current parallel region (after the initialization library call inserted in step 260) (col. 8, l. 64 through col. 9, l. 12). 5Page: Previous 1 2 3 4 5 6 7 8 9 10 11 Next
Last modified: September 9, 2013