Patent · US Active

Versioning optimization for dynamically-typed languages

US7493610B1 · kind B1 · utility

24Cited by
24References
1Claims
0Family size

Assignee

Inventors

Key dates

Filing dateMar 27, 2008
Grant dateFeb 17, 2009
Priority date
Expiry dateMar 27, 2028

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/4484
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

A system and method for optimizing program code in dynamic languages includes gathering hot-type information from a program by employing inferencing or profiling to get the hot-type information for operator uses, and inserting guards in the program based on data flow in the program to guard against propagation failures during runtime where preconditions are violated or where the propagation is unlikely to return. The program is versioned into global versions including a hot path version and a cold path version, where the hot path version is expected to be executed if the values of variables in the code are expected types, and other exceptional cases are handled by the cold path version as triggered by the guards. Compiler optimizations are performed to remove redundant representations of values, and heavy overloading of operators to provide an optimized compiling of the code.

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.