Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
158 words
A method for compiling source code into optimized object code comprising the steps of: (a) compiling the source code into object code instructions; (b) inserting within each object code instructions, logical line markers, each logical line marker identifying a source code line from which originated associated object code instructions which are immediately adjacent to the logical line marker; (c) inserting actual line markers so that an actual line marker is associated with every object code instruction, the actual line marker identifying a source code line from which originated the object code instruction associated with the actual line marker; and, (d) optimizing the object code instructions to produce the optimized object code, including the following substeps (d.1) moving object code instructions relative to the logical line markers but not moving the logical line markers relative to each other, and (d.2) when an object code instruction is moved, moving the actual line marker associated with the moved object code instruction.
Claim 2
Independent Claim
158 words
A method for compiling source code into optimized object code comprising the steps of: (a) compiling the source code into object code instructions; (b) inserting within each object code instructions, logical line markers, each logical line marker identifying a source code line from which originated associated object code instructions which are immediately adjacent to the logical line marker; (c) inserting actual line markers so that an actual line marker is associated with every object code instruction, the actual line marker identifying a source code line from which originated the object code instruction associated with the actual line marker; and, (d) optimizing the object code instructions to produce the optimized object code, including the following substeps (d.1) moving object code instructions relative to the logical line markers but not moving the logical line markers relative to each other, and (d.2) when an object code instruction is moved, moving the actual line marker associated with the moved object code instruction.
Claim 3
Dependent Claim
29 words
A method as in claim 1 wherein step (b) includes dividing the object code instructions into basic blocks which contain the logical line markers and the object code instructions.
Claim 4
Dependent Claim
29 words
A method as in claim 2 wherein in substep (d.1), no logical line marker is moved outside a basic block in which the logical line marker was originally placed.
Claim 5
Dependent Claim
30 words
A method as in claim 3 wherein in substep (d.1), when an entire basic block is duplicated, all logical line markers contained by the entire basic block are also duplicated.
Claim 6
Dependent Claim
32 words
A method as in claim 3 wherein in step (d) when a basic block is rendered unexecutable, all logical line markers contained by the basic block rendered unexecutable are marked as unexecutable.
Claim 7
Dependent Claim
16 words
A method as in claim 5 wherein in step (d) no logical line markers are deleted.
Claim 8
Independent Claim
90 words
A method for compiling source code into optimized object code comprising the steps of: (a) compiling the source code into object code instructions; (b) inserting within the object code instructions, logical line markers, each logical line marker identifying a source code line from which originated object code instructions immediately adjacent to the logical line marker; and, (c) optimizing the object code instructions to produce the optimized object code, including moving object code instructions relative to the logical line markers but not moving the logical line markers relative to each other.
Claim 9
Independent Claim
90 words
A method for compiling source code into optimized object code comprising the steps of: (a) compiling the source code into object code instructions; (b) inserting within the object code instructions, logical line markers, each logical line marker identifying a source code line from which originated object code instructions immediately adjacent to the logical line marker; and, (c) optimizing the object code instructions to produce the optimized object code, including moving object code instructions relative to the logical line markers but not moving the logical line markers relative to each other.
Claim 10
Dependent Claim
41 words
A method as in claim 7 wherein step (b) includes dividing the object code into basic blocks and wherein in step (c) no logical line marker is moved outside a basic block in which the logical line marker was originally placed.
Claim 11
Dependent Claim
30 words
A method as in claim 8 wherein in step (c) when an entire basic block is duplicated, all logical line markers contained by the entire basic block are also duplicated.
Claim 12
Dependent Claim
29 words
A method as in claim 8 wherein when a basic block is rendered unexecutable, all logical line markers contained by the basic block rendered unexecutable are marked as unexecutable.
Claim 13
Dependent Claim
16 words
A method as in claim 10 wherein in step (c) no logical line markers are deleted.
Claim 14
Dependent Claim
16 words
A method as in claim 7 wherein in step (c) no logical line markers are deleted.
Claim 15
Dependent Claim
50 words
A method as in claim 7 wherein step (b) additionally includes inserting actual line markers so that an actual line marker is associated with every object code instruction, the actual line marker identifying a source code line from which originated the object code instruction associated with the actual line marker.
Claim 16
Dependent Claim
37 words
A method as in claim 13 wherein in step (c) wherein when an object code instruction is moved, the actual line marker associated with the moved object code instruction is moved with the moved object code instruction.
Claim 17
Dependent Claim
106 words
Storage media which stores a compiling program which when executed by a computer compiles source code into optimized object code, the compiling program comprising: compiling means for compiling the source code into object code instructions; inserting means for inserting within the object code instructions, logical line markers, each logical line marker identifying a source code line from which originated object code instructions immediately adjacent to the logical line marker; and, optimizing means for optimizing the object code instructions to produce the optimized object code, including moving object code instructions relative to the logical line markers but not moving the logical line markers relative to each other.
Claim 18
Dependent Claim
106 words
Storage media which stores a compiling program which when executed by a computer compiles source code into optimized object code, the compiling program comprising: compiling means for compiling the source code into object code instructions; inserting means for inserting within the object code instructions, logical line markers, each logical line marker identifying a source code line from which originated object code instructions immediately adjacent to the logical line marker; and, optimizing means for optimizing the object code instructions to produce the optimized object code, including moving object code instructions relative to the logical line markers but not moving the logical line markers relative to each other.
Claim 19
Dependent Claim
51 words
Storage media as in claim 15 wherein the inserting means includes dividing means for dividing the object code into basic blocks and wherein when the optimizing means optimizes the object code instructions no logical line marker is moved outside a basic block in which the logical line marker was originally placed.
Claim 20
Dependent Claim
36 words
Storage media as in claim 16 wherein when the optimizing means optimizes the object code instructions and an entire basic block is duplicated, all logical line markers contained by the entire basic block are also duplicated.
Claim 21
Dependent Claim
33 words
Storage media as in claim 16 wherein when a basic block is rendered unexecutable, the compiling program renders all logical line markers contained by the basic block rendered unexecutable are marked as unexecutable.
Claim 22
Dependent Claim
17 words
Storage media as in claim 15 wherein no logical line markers are deleted are deleted during optimization.
Claim 23
Dependent Claim
53 words
Storage media as in claim 15 the compiler additionally comprises second inserting means for inserting actual line markers so that an actual line marker is associated with every object code instruction, the actual line marker identifying a source code line from which originated the object code instruction associated with the actual line marker.
Claim 24
Dependent Claim
42 words
Storage media as in claim 20 wherein when the optimizing means optimizes the object code instructions and an object code instruction is moved, the actual line marker associated with the moved object code instruction is moved with the moved object code instruction.