← Back to Patent Explorer
US5625822A Expired / Lapsed US ⏱️ 0.0 years remaining

Using sorting to do matchup in smart recompilation

Assignee: Compaq Information Technologies Group LP
•
Filing: 1994-10-06
•
Granted: 1997-04-29
•
Expires: 2014-10-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for compiling a source program using smart recompilation. The invention allows fragments to contain "invocation specific" information, which is generated during a code generation phase of compilation. A hint generator attempts to preserve values of the invocation specific information between successive invocations of the compiler.

Inventors

  • 👤 Bevin R. Brett

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 04:33
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/48

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 166 words
In a computer system, including a memory, a method of compiling source programs comprising the steps of: compiling a first source program to produce a first compiled program and first information characterizing said first compiled program, the first information including information from the first source program which is referenced by another source program other than the first program; compiling a second source program to produce a second compiled program and second information characterizing said second compiled program, the second information including information from the second source program which is referenced by another source program other than the second program; sorting said first information to produce sorted information; determining portions of said sorted information and said second information which do not have equivalent portions by comparing parameters representing portions of said sorted information to other parameters representing portions of said second information; and compiling, in response to said determining step, a third source program which is dependent on a portion which does not have an equivalent portion.
Claim 2
Dependent Claim 166 words
In a computer system, including a memory, a method of compiling source programs comprising the steps of: compiling a first source program to produce a first compiled program and first information characterizing said first compiled program, the first information including information from the first source program which is referenced by another source program other than the first program; compiling a second source program to produce a second compiled program and second information characterizing said second compiled program, the second information including information from the second source program which is referenced by another source program other than the second program; sorting said first information to produce sorted information; determining portions of said sorted information and said second information which do not have equivalent portions by comparing parameters representing portions of said sorted information to other parameters representing portions of said second information; and compiling, in response to said determining step, a third source program which is dependent on a portion which does not have an equivalent portion.
Claim 3
Dependent Claim 75 words
The method of claim 1 further comprising assigning a first version number to a first portion of said first information, and assigning a second version number to a second portion of said second information, and wherein said first portion and said second portion correspond, and said first version number and said second version number are different if, as a result of the determining step, said first portion and said second portion are not equivalent portions.
Claim 4
Dependent Claim 15 words
The method of claim 1, wherein said first information and second information include semantic information.
Claim 5
Dependent Claim 30 words
The method of claim 3, wherein the semantic information comprises at least one of a semantic nature identifier, a type identifier, a number of parameters, and a type of parameters.
Claim 6
Dependent Claim 25 words
The method of claim 1, wherein said first information and said second information include invocation specific information characterizing the compiled first and second programs, respectively.
Claim 7
Dependent Claim 31 words
The method of claim 5, wherein the invocation specific information comprises at least one of a global symbol name, programming variable information including size and representation information, and register offset information.
Claim 8
Dependent Claim 34 words
The method of claim 3, wherein the determining step includes comparing a first parameter that represents semantic information of said first information with a second parameter that represents semantic information of said second information.
Claim 9
Dependent Claim 33 words
The method of claim 5, wherein the determining step includes comparing parameters that represent invocation specific information of said first information to other parameters that represent invocation specific information of said second information.
Claim 10
Dependent Claim 15 words
The method of claim 1, wherein the sorting step further includes sorting said second information.
Claim 11
Dependent Claim 34 words
The method of claim 1, wherein the sorting step comprises comparing a parameter that represents a first portion of said first information to another parameter that represents a second portion of said first information.
Claim 12
Dependent Claim 53 words
The method of claim 1, wherein the determining step uses a comparison function to determine which portions of said sorted information and said second information do not have equivalent portions by comparing a first parameter representing a portion of said first information to a second parameter representing a portion of said second information.
Claim 13
Dependent Claim 22 words
The method of claim 11, wherein the comparison function is one of a less-than function, a greater-than function, or a less-than-or-equal-to function.
Claim 14
Independent Claim 310 words
A method of compiling source programs on a computer system with a memory, the method comprising the steps of: compiling a first source program and producing a first compiled program and first information characterizing said first compiled program, the first information including information from the first source program which is referenced by another source program other than the first source program, and organizing said first information as a first tree structure comprising a plurality of levels, said levels representing a first hierarchically ordered relationship from lowest to highest; compiling a second source program and producing a second compiled program and second information characterizing said second compiled program, the second information including information from the second source program which is referenced by another source program other than the second source program, and organizing said second information as a second tree structure comprising a plurality of levels, said levels representing a second hierarchically ordered relationship from lowest to highest; identifying first information that corresponds to second information, said first information being at a first level in said first tree structure and said second information being at a second level in said second tree structure; sorting said first information at a third level and producing a first sorted list, said third level being immediately hierarchically lower than said first level; sorting said second information at a fourth level and producing a second sorted list, said fourth level being immediately hierarchically lower than the second level; determining portions of said first sorted list and said second sorted list which do not have equivalent portions by comparing a first parameter representing a portion in said first sorted list to a second parameter representing a portion in said second sorted list; and compiling, in response to said determining step, a third source program which is dependent on a portion which does not have an equivalent portion.
Claim 15
Independent Claim 310 words
A method of compiling source programs on a computer system with a memory, the method comprising the steps of: compiling a first source program and producing a first compiled program and first information characterizing said first compiled program, the first information including information from the first source program which is referenced by another source program other than the first source program, and organizing said first information as a first tree structure comprising a plurality of levels, said levels representing a first hierarchically ordered relationship from lowest to highest; compiling a second source program and producing a second compiled program and second information characterizing said second compiled program, the second information including information from the second source program which is referenced by another source program other than the second source program, and organizing said second information as a second tree structure comprising a plurality of levels, said levels representing a second hierarchically ordered relationship from lowest to highest; identifying first information that corresponds to second information, said first information being at a first level in said first tree structure and said second information being at a second level in said second tree structure; sorting said first information at a third level and producing a first sorted list, said third level being immediately hierarchically lower than said first level; sorting said second information at a fourth level and producing a second sorted list, said fourth level being immediately hierarchically lower than the second level; determining portions of said first sorted list and said second sorted list which do not have equivalent portions by comparing a first parameter representing a portion in said first sorted list to a second parameter representing a portion in said second sorted list; and compiling, in response to said determining step, a third source program which is dependent on a portion which does not have an equivalent portion.
Claim 16
Dependent Claim 25 words
The method of claim 13, wherein said first and second sorting steps use a comparison function with a sorting key representing information to be sorted.
Claim 17
Dependent Claim 30 words
The method of claim 14, wherein said first information and said second information include invocation specific information, and wherein the sorting key contains a representation of the invocation specific information.
Claim 18
Dependent Claim 32 words
The method of claim 14, wherein said first information and said second information contain semantic information, and wherein the sorting key of the sorting step contains a representation of the semantic information.
Claim 19
Dependent Claim 34 words
The method of claim 13, wherein the first information includes variable and type information of said first source program, and wherein the second information includes variable and type information of said second source program.
Claim 20
Dependent Claim 16 words
The method of claim 13, wherein said first information and said second information include semantic information.
Claim 21
Dependent Claim 17 words
The method of claim 13, wherein said first information and said second information include invocation specific information.
Claim 22
Dependent Claim 22 words
The method of claim 13, wherein said determining step uses a comparison function to compare said first parameter and said second parameter.

References Cited (Backward Citations)

US4558413A Cited
US4667290A Cited
US5206951A Cited
US5230050A Cited
US5123098A Cited
US5187788A Cited
US5201050A Cited
US5204939A Cited
US5204960A Cited
US5247651A Cited
US5175856A Cited
US5193180A Cited
US5367683A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-04-28 2000-10-28 2001-04-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-04-28 2004-10-28 2005-04-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-04-28 2008-10-28 2009-04-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag