Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2008-03-27
2009-02-17
Zhen, Wei Y. (Department: 2191)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S140000, C717S151000, C717S154000, C714S038110
Reexamination Certificate
active
07493610
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.
REFERENCES:
patent: 5964867 (1999-10-01), Anderson et al.
patent: 6026241 (2000-02-01), Chow et al.
patent: 6070009 (2000-05-01), Dean et al.
patent: 6170083 (2001-01-01), Adl-Tabatabai
patent: 6189141 (2001-02-01), Benitez et al.
patent: 6374367 (2002-04-01), Dean et al.
patent: 6745384 (2004-06-01), Biggerstaff
patent: 6857118 (2005-02-01), Karr et al.
patent: 6925640 (2005-08-01), Allison
patent: 6938249 (2005-08-01), Roediger et al.
patent: 6961874 (2005-11-01), Lodrige
patent: 6964043 (2005-11-01), Wu et al.
patent: 6968542 (2005-11-01), Bagley et al.
patent: 6973646 (2005-12-01), Bordawekar et al.
patent: 6993757 (2006-01-01), Rajagopalan
patent: 7010785 (2006-03-01), Haber et al.
patent: 7058935 (2006-06-01), Kawahito et al.
patent: 7058936 (2006-06-01), Chilimbi et al.
patent: 7086043 (2006-08-01), Roediger et al.
patent: 7213242 (2007-05-01), Robison
patent: 7219329 (2007-05-01), Meijer et al.
patent: 7275242 (2007-09-01), Liu et al.
patent: 7289947 (2007-10-01), Ammons
patent: 7389522 (2008-07-01), Komatsu et al.
patent: 2002/0170043 (2002-11-01), Bagley et al.
patent: 2003/0048122 (2003-03-01), Kazi
patent: 2003/0097648 (2003-05-01), Allison
patent: 2003/0101433 (2003-05-01), Allison
patent: 2003/0208749 (2003-11-01), Rajagopalan
patent: 2004/0015918 (2004-01-01), Kawahito et al.
patent: 2004/0216085 (2004-10-01), Wilson et al.
patent: 2005/0138611 (2005-06-01), Inglis et al.
patent: 2006/0005180 (2006-01-01), Nefian et al.
patent: 2006/0036426 (2006-02-01), Barr et al.
patent: 2006/0064682 (2006-03-01), Tanaka
patent: 2006/0070047 (2006-03-01), Narayansamy et al.
patent: 2007/0038978 (2007-02-01), Meijer et al.
patent: 2007/0055978 (2007-03-01), Meijer et al.
patent: 2007/0074185 (2007-03-01), Meijer et al.
patent: 2007/0079298 (2007-04-01), Tian et al.
patent: 2007/0240125 (2007-10-01), Degenhardt et al.
patent: 2007/0277162 (2007-11-01), Tanaka et al.
patent: 2007/0285271 (2007-12-01), Erlingsson et al.
Cohn et al., “Hot Cold Optimization of Large Window/NT Applications,” Dec. 1996, IEEE, p. 80-89.
Suganuma et al., “A Region-Based Compilation Technique for a Java Just-in-Time Compiler,” Jun. 2003, ACM, p. 312-323.
Suganuma et al., “Region-Based Compilation Technique for Dynamic Compilers,” Jan. 2006, ACM, p. 134-174.
Onodera Tamiya
Sundaresan Vijay
Tatsubori Michiaki
Tozawa Akihiko
Alexanian Vazken
Chen Qing
International Business Machines - Corporation
Keusey, Tutunjian & & Bitetto, P.C.
Zhen Wei Y.
LandOfFree
Versioning optimization for dynamically-typed languages does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Versioning optimization for dynamically-typed languages, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Versioning optimization for dynamically-typed languages will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-4093906