The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Feb. 17, 2015
Filed:
Apr. 21, 2010
Wolfram Schulte, Bellevue, WA (US);
Nikolai Tillmann, Redmond, WA (US);
Michal J. Moskal, Seattle, WA (US);
Manuel A. Fahndrich, Seattle, WA (US);
Daniel J P Leijen, Bellevue, WA (US);
Barend H. Venter, Issaquah, WA (US);
Wolfram Schulte, Bellevue, WA (US);
Nikolai Tillmann, Redmond, WA (US);
Michal J. Moskal, Seattle, WA (US);
Manuel A. Fahndrich, Seattle, WA (US);
Daniel J P Leijen, Bellevue, WA (US);
Barend H. Venter, Issaquah, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
A tracing just-in-time (TJIT) compiler system is described for performing parallelization of code in a runtime phase in the execution of code. Upon detecting a hot loop during the execution of the code, the compiler system extracts trace information from sequentially recorded traces. In a first phase, the compiler system uses the trace information to identify at least one group of operation components that can be operated on in a parallel manner. In a second phase, the compiler system provides instructions which allocate the group of operation components to plural processing resources. A native code generator module carries out those instructions by recompiling native code that directs the operation of a native system to perform parallel processing. The compiler system terminates a group if it encounters program data in a loop iteration that is not consistent with previously encountered predicated information (upon which it records a new trace in a sequential manner).