Patent US2846336A successfully refreshed from Google Patents.
Patent US5535392A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5535392A Expired / Lapsed US ⏱️ 0.0 years remaining

Using hint generation to cause portions of object files to remain the same

Assignee: Hewlett Packard Development Co LP
•
Filing: 1995-03-10
•
Granted: 1996-07-09
•
Expires: 2015-03-10
📄 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-11-05 08:27
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/48

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 162 words
A method executed in a computer system with a memory, the method comprising the steps of: translating a first program to produce a first translation result and first nondeterministic invocation specific information which characterizes the first translation result; placing the first translation result into the memory; translating a second program to produce a second translation result by directly using the first nondeterministic invocation specific information which characterizes the first translation result in order to minimize differences between said first translation result and said second translation result, said step of translating said second program including the steps of: reading a code generation hint describing a portion of said first translation result with said code generation hint being included in said first nondeterministic information, and using said code generation hint to produce a portion of said second translation result for those portions of said second translation result having corresponding portions in said first translation result; and placing said second translation result into the memory.
Claim 2
Independent Claim 162 words
A method executed in a computer system with a memory, the method comprising the steps of: translating a first program to produce a first translation result and first nondeterministic invocation specific information which characterizes the first translation result; placing the first translation result into the memory; translating a second program to produce a second translation result by directly using the first nondeterministic invocation specific information which characterizes the first translation result in order to minimize differences between said first translation result and said second translation result, said step of translating said second program including the steps of: reading a code generation hint describing a portion of said first translation result with said code generation hint being included in said first nondeterministic information, and using said code generation hint to produce a portion of said second translation result for those portions of said second translation result having corresponding portions in said first translation result; and placing said second translation result into the memory.
Claim 3
Dependent Claim 37 words
The method of claim 1, wherein the first nondeterministic invocation specific information which characterizes the first translation result includes a value corresponding to an offset from a beginning of a data area in said first translation result.
Claim 4
Dependent Claim 34 words
The method of claim 1, wherein the first nondeterministic invocation specific information which characterizes the first translation result includes a value corresponding to a size of a data area in said first translation result.
Claim 5
Dependent Claim 29 words
The method of claim 1, wherein the first nondeterministic invocation specific information which characterizes the first translation result includes an indicator of a location in the first translation result.
Claim 6
Dependent Claim 22 words
The method of claim 1, wherein the first nondeterministic invocation specific information which characterizes the first translation result includes an alphanumeric name.
Claim 7
Dependent Claim 41 words
The method of claim 1, wherein said step of translating said second program includes producing second nondeterministic invocation specific information which characterizes said second translation result for use in minimizing differences between said second translation result and a third translation result.
Claim 8
Dependent Claim 40 words
The method of claim 6 further comprising the step of storing the first nondeterministic invocation specific information which characterizes said first translation result and storing the second nondeterministic invocation specific information which characterizes said second translation result to the memory.
Claim 9
Dependent Claim 36 words
The method of claim 7 further comprising the step of replacing the first nondeterministic invocation specific information which characterizes the first translation result with the second nondeterministic invocation specific information which characterizes the second translation result.
Claim 10
Dependent Claim 152 words
The method of claim 7, wherein the step of translating said first program includes the steps of: segmenting the first program into a plurality of first parts; generating nondeterministic invocation specific information which characterizes each of the plurality of first parts of said first program, the first nondeterministic invocation specific information which characterizes the first translation result comprising said nondeterministic invocation specific information characterizing each of the plurality of first parts; and wherein the step of translating said second program includes the steps of: segmenting the second program into a plurality of second parts; and generating other nondeterministic invocation specific information which characterizes each of the plurality of second parts of said second program using said first nondeterministic invocation specific information from said first translation, the second nondeterministic invocation specific information which characterizes the second translation result comprising the other nondeterministic invocation specific information characterizing each of the plurality of second parts.
Claim 11
Dependent Claim 51 words
The method of claim 9 further comprising the steps of: sorting the plurality of parts of said first program; sorting the plurality of parts of said second program; and using the sorting results in determining which part of said first program, if any, has a corresponding part in said second program.
Claim 12
Dependent Claim 62 words
The method of claim 10 further comprising the steps of: for parts of said first program which have a corresponding part in said second program, determining if the corresponding parts are equivalent; and replacing the nondeterministic invocation specific information of the corresponding part of said first program with the other nondeterministic invocation specific information of the corresponding part of said second program.
Claim 13
Dependent Claim 19 words
The method of claim 1 wherein a compiler translates said first program, and a compiler translates said second program.
Claim 14
Dependent Claim 20 words
The method in claim 1 further comprising the step of replacing said first translation result with said second translation result.
Claim 15
Dependent Claim 25 words
The method of claim 1, wherein said first translation result is a first object file and said second translation result is a second object file.
Claim 16
Dependent Claim 55 words
The method of claim 1 wherein said first program has corresponding semantic information which remains unchanged unless source code comprising said first program is modified, and wherein said first nondeterministic invocation specific information may change in a subsequent step of translating said first program even if said source code comprising said first program is unmodified.

References Cited (Backward Citations)

US4558413A Cited
US5206951A Cited
US5123098A Cited
US5187788A Cited
US5201050A Cited
US5204960A Cited
US5175856A Cited
US5193180A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-07-09 2000-01-08 2000-07-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-07-09 2004-01-08 2004-07-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-07-09 2008-01-08 2008-07-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag