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:
May. 03, 2011
Filed:
Nov. 16, 2007
Matthew William Ashcraft, Belmont, CA (US);
John Gregory Favor, Scotts Valley, CA (US);
Christopher Patrick Nelson, Santa Clara, CA (US);
Ivan Pavle Radivojevic, San Francisco, CA (US);
Joseph Byron Rowlands, Santa Clara, CA (US);
Richard Win Thaik, San Jose, CA (US);
Matthew William Ashcraft, Belmont, CA (US);
John Gregory Favor, Scotts Valley, CA (US);
Christopher Patrick Nelson, Santa Clara, CA (US);
Ivan Pavle Radivojevic, San Francisco, CA (US);
Joseph Byron Rowlands, Santa Clara, CA (US);
Richard Win Thaik, San Jose, CA (US);
Oracle America, Inc., Redwood City, CA (US);
Abstract
A method and apparatus for optimizing a sequence of operations adapted for execution by a processor is disclosed to include associating a symbolic expression with each of at least a subset of the registers, holding a set of dependency indications that specify for each particular symbolic expression which, if any, of the other symbolic expressions must be emitted as operations prior to emitting the particular symbolic expression, locating an operation, if any, that is next within the sequence of operations and setting that operation to be a working operation and processing the working operation. Processing is performed by handling the working operation by a combination of updating zero or more of the symbolic expressions and emitting zero or more of the symbolic expressions as operations, identifying which, if any, of the symbolic expressions that were updated in process were updated such that they must be emitted prior to which other, if any, of the symbolic expressions, and then updating the dependency indicators to include any such dependencies, and identifying which, if any, of the symbolic expressions that were updated in process were updated such that they no longer need to be emitted prior to which other, if any, of the symbolic expressions, and then updating the dependency indicators to remove any such dependencies.