IP Library Patent Application 12944365
Patent Application
App. No. 12/944,365

Optimization of Compiled Control Objects

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/944,365
Abstract

A method of optimizing a compiled control, for example a user interface control, includes generating a source code document including a test instruction statement that accesses an element of the control. The source code is then compiled, and one or more matched instructions in the compiled document are identified that correspond to the test instruction statement. A pattern is then formed using the one or more matched instructions.

Claims (35)

1 . A computerized method comprising:

identifying a control;

generating a source code document including a test instruction statement that accesses an element of the control;

compiling the source code document to a compiled document;

identifying one or more matched instructions in the compiled document that correspond to the test instruction statement; and

forming a pattern using the one or more matched instructions.

2 . The method of claim 1 wherein the compiling comprises compiling to an intermediate language.

3 . The method of claim 2 wherein the intermediate language is Microsoft Intermediate Language.

4 . The method of claim 2 wherein the intermediate language is Java bytecode.

5 . The method of claim 1 further comprising storing the pattern in a pattern database.

6 . The method of claim 5 wherein the pattern database is an intermediate language dynamic link library.

7 . The method of claim 1 wherein the element is one chosen from the group consisting of properties, functions, and events.

8 . The method of claim 1 wherein the method is performed automatically.

9 . The method of claim 8 wherein the method is performed semi-automatically.

10 . The method of claim 1 wherein the pattern includes a placeholder for a variable identifier.

11 . A computerized method comprising:

identifying a first instruction;

determining a first stack count at the first instruction;

identifying a second instruction;

determining a second stack count at the second instruction;

comparing the first stack count to the second stack count; and

if the first stack count is equal in value to the second stack count, identifying a portion of code beginning with the first instruction and ending with the second instruction as an instruction set.

12 . The method of claim 11 further comprising increasing a current stack count when an instruction pushes data onto a stack.

13 . The method of claim 11 further comprising decreasing a current stack count when an instruction pops data off of a stack.

14 . The method of claim 11 further comprising analyzing the instruction set to identify an object class and a function signature.

15 . The method of claim 14 further comprising searching a pattern database using the object class and the function signature.

16 . The method of claim 15 further comprising substituting at least a portion of the instruction set with replacement instructions based on instructions in the pattern database.

17 . The method of claim 16 wherein the replacement instructions are optimized relative to the portion of the instruction set.

18 . The method of claim 15 further comprising ignoring at least a portion of the instruction set based on instructions in the pattern database.

19 . A computerized method comprising:

identifying a instruction set;

identifying a variable referenced in the instruction set;

matching the instruction set against a pattern;

replacing the instruction set with replacement instructions that reference the variable.

20 . The method of claim 19 wherein the replacement instructions execute faster than the instruction set.

Assignments (2)
CHANGE OF NAME Recorded Aug 15, 2012
From: CODEKKO, INC.
To: NETCORDANT, INC.
Reel/Frame 028788/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2010
From: BANNOURA, DANIEL L.; BOZOKI, GYORGY; COLLINS, JUSTIN
To: CODEKKO SOFTWARE, INC.
Reel/Frame 025352/0544 →