The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Feb. 17, 2009
Filed:
Mar. 27, 2008
Tamiya Onodera, Tokyo, JP;
Vijay Sundaresan, Ontario, CA;
Michiaki Tatsubori, Kanagawa-ken, JP;
Akihiko Tozawa, Tokyo, JP;
Tamiya Onodera, Tokyo, JP;
Vijay Sundaresan, Ontario, CA;
Michiaki Tatsubori, Kanagawa-ken, JP;
Akihiko Tozawa, Tokyo, JP;
International Business Machines Corporation, Armonk, NY (US);
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.