发明名称 Optimizing primitives in software transactional memory
摘要 A compiler is provided that determines when the use of software transactional memory (STM) primitives may be optimized with respect to a set of collectively dominating STM primitives. The compiler analysis coordinates the use of variables containing possible shadow copy pointers to allow the analysis to be performed for both direct write and buffered write STM systems. The coordination of the variables containing the possible shadow copy pointers ensures that the results of STM primitives are properly reused. The compiler analysis identifies memory accesses where STM primitives may be eliminated, combined, or substituted for lower overhead STM primitives.
申请公布号 US8839213(B2) 申请公布日期 2014.09.16
申请号 US200812163284 申请日期 2008.06.27
申请人 Microsoft Corporation 发明人 Detlefs David L.;Magruder Michael M.;Levanoni Yosseff;Grover Vinod K.
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人 Sullivan Kevin;Haslam Brian;Minhas Micky
主权项 1. A method of compiling a program, the method comprising: performing a program flow analysis on a software transactional memory (STM) transaction to be modified into a compiled STM transaction including STM primitives that call functions in a STM library, the program flow analysis tracks a possible shadow copy pointer for first and second memory accesses to a memory location in the STM transaction, the possible shadow copy pointer is either a base address of the memory location or a shadow copy pointer to a shadow copy of the memory location based on the STM transaction, the functions of the STM library return results to the compiled STM transaction including in a direct write mode of operation returning the base address and in a buffered write mode of operation returning the possible shadow copy pointer; and identifying an STM optimization for the second memory access in the compiled STM transaction using the program flow analysis.
地址 Redmond WA US
您可能感兴趣的专利