发明名称 Method and apparatus for generating code for array range check and method and apparatus for versioning
摘要 The present invention eliminates redundant array range checks. A two-phased check is performed, namely a wide range check is performed by combining a plurality of array range checks, and a strict range check is unsuccessful, so as to reduce the number of range checks at execution time and allow execution at high speed. For instance, it is possible with a processor such as PowerPC, by using a flag, to invalidate a code for performing an array range check at high speed without increasing a code size. Consequently, the number of array range checks to be executed can be reduced so as to allow execution at high speed. Also, for instance, a plurality of array range checks can be combined without considering existence of instructions which cause a side effect. Consequently, the number of array range checks to be executed can be reduced so as to allow execution at high speed. In addition, a versioning is performed by using, as array access information for versioning, information of array access information for versioning information of array accesses which are always performed even if passing through any execution path in a loop so that there are fewer cases where it goes to a version with a larger number of array range checks at execution time.
申请公布号 US6665864(B1) 申请公布日期 2003.12.16
申请号 US19990473858 申请日期 1999.12.28
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 KAWAHITO MOTOHIRO;KOMATSU HIDEAKI;YASUE TOSHIAKI
分类号 G06F9/45;G06F9/44;(IPC1-7):G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项
地址