会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Method and apparatus for generating code for array range check and method and apparatus for versioning
    • 用于生成阵列范围检查代码的方法和装置以及用于版本控制的方法和装置
    • US06665864B1
    • 2003-12-16
    • US09473858
    • 1999-12-28
    • Motohiro KawahitoHideaki KomatsuToshiaki Yasue
    • Motohiro KawahitoHideaki KomatsuToshiaki Yasue
    • G06F945
    • G06F8/443
    • 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.
    • 本发明消除了冗余阵列范围检查。 执行两阶段检查,即通过组合多个阵列范围检查来进行宽范围检查,并且严格范围检查不成功,以便在执行时减少范围检查的数量并允许高速执行 。 例如,通过使用标志,诸如PowerPC的处理器可以在不增加代码大小的情况下使用于高速执行阵列范围检查的代码无效。 因此,可以减少要执行的阵列范围检查的数量,以便允许高速执行。 此外,例如,可以组合多个阵列范围检查,而不考虑存在导致副作用的指令。 因此,可以减少要执行的阵列范围检查的数量,以便允许高速执行。 另外,通过使用用作版本控制的数组访问信息来执行版本控制,即使通过循环中的任何执行路径也始终执行的阵列访问的版本控制信息的数组访问信息的信息,从而存在更少的情况 在执行时转到具有更大数量的数组范围检查的版本。
    • 4. 发明授权
    • Method and apparatus for eliminating redundant array range checks in a compiler
    • 用于在编译器中消除冗余阵列范围检查的方法和装置
    • US06519765B1
    • 2003-02-11
    • US09350242
    • 1999-07-09
    • Motohiro KawahitoToshiaki YasueHideaki Komatsu
    • Motohiro KawahitoToshiaki YasueHideaki Komatsu
    • G06F944
    • G06F8/43G06F8/443
    • Java language is, as its specification, capable of detecting an access exceeding an array range, and when there is no user-defined exception handler, moving control to an invoked method after getting out of a method in which an exception occurred, or when there is a user-defined exception handler, moving the process to the exception handler. Accordingly, an array range check is essential since occurrence of an exception may be described as a correct operation. However, an array range check slows execution speed compared with a language which does not require it. In an actual program, there is an array access to ensure that there is no access exceeding a range, and thus elimination of such redundant range checks greatly contributes to improved performance, and in addition, brings about an effect of expanding the range of optimization from the viewpoint of ensuring order of execution between occurrence of an exception and a process with a side effect such as an assignment of a value to an array.
    • Java语言正如其规范那样能够检测到超出数组范围的访问,当没有用户定义的异常处理程序时,在得到发生异常的方法之后将控制移动到被调用的方法,或者在那里 是一个用户定义的异常处理程序,将进程移动到异常处理程序。 因此,阵列范围检查是重要的,因为异常的发生可以被描述为正确的操作。 但是,与不需要的语言相比,数组范围检查会降低执行速度。 在一个实际的程序中,有一个阵列访问,以确保没有超出范围的访问,因此消除这种冗余范围检查大大有助于提高性能,另外还带来了扩大优化范围的效果 确保异常发生之间的执行顺序与具有副作用(例如将值分配给数组)的处理的观点。
    • 6. 发明授权
    • Process for processing programs, process for detecting depth of frame associated with specified method, detection method, and computer
    • 处理程序的过程,用于检测与指定方法相关联的帧深度的处理,检测方法和计算机
    • US06363521B1
    • 2002-03-26
    • US09306007
    • 1999-05-06
    • Toshiaki YasueHideaki KomatsuTakeshi Ogasawara
    • Toshiaki YasueHideaki KomatsuTakeshi Ogasawara
    • A61F224
    • G06F9/4491
    • The present invention is directed to expanding the scope of execution optimization by method inlining in a language with a security facility such as Java. More particularly, the present invention is directed to a step of generating a code necessary for looping by a tail recursion for a first method including an invocation of a method whose process after its invocation is indefinite and which includes a self recursion, and a step of generating a code for counting the number of iterations of the loop are included. SecurityManager corrects the depth of the frame associated with a second method in the storage area by using the count value by the code for counting the number of iterations of the loop. It also includes the steps of: inlining a code of the first method into the second method, wherein the second method includes an invocation of the first method whose process after its invocation is indefinite; getting the invocation relationship information between the first and the second methods in a state before inlining the code of the first method, and storing the invocation relationship information into a storage area available later; and generating a code for storing information about the first method being executed when the code of the inlined first method is executed. SecurityManager traces the stack with generated invocation relationship information.
    • 本发明旨在通过利用诸如Java之类的安全设施的语言内联方法来扩展执行优化的范围。 更具体地说,本发明是针对第一种方法,通过尾递归生成循环所必需的代码的步骤,该第一方法包括调用其调用后的过程不确定并包括自递归的方法的调用,以及步骤 生成用于对循环的迭代次数进行计数的代码。 SecurityManager通过使用计数值来计算存储区域中与第二种方法相关联的帧的深度来计算循环次数。 它还包括以下步骤:将第一种方法的代码内联到第二种方法中,其中第二种方法包括调用其调用后的过程不确定的第一种方法; 在第一方法的代码内嵌之前的状态下获取第一和第二方法之间的调用关系信息,并将调用关系信息存储在稍后可用的存储区域中; 以及当执行所述内联第一方法的代码时,生成用于存储关于正在执行的所述第一方法的信息的代码。 SecurityManager跟踪生成的调用关系信息的堆栈。
    • 8. 发明授权
    • Prefetching apparatus, prefetching method and prefetching program product
    • 预取设备,预取方法和预取程序产品
    • US07383417B2
    • 2008-06-03
    • US11377518
    • 2006-03-15
    • Toshiaki YasueHideaki Komatsu
    • Toshiaki YasueHideaki Komatsu
    • G06F9/26G06F9/34G06F12/00
    • G06F9/383G06F9/3832
    • The efficient performance of prefetching of data prior to the reading of the data by a program. A prefetching apparatus, for prefetching data from a file to a buffer before the data is read by a program, includes: a history recorder, for recording a history for a plurality of data readings issued by the program while performing data reading; a prefetching generator, for generating a plurality of prefetchings that correspond to the plurality of data readings recorded in the history; a prefetching process determination unit, for determining, based on the history, the performance order for the plurality of prefetchings; and a prefetching unit, for performing, when following the determination of the performance order the program is executed, the plurality of prefetchings in the performance order.
    • 在程序读取数据之前预取数据的有效性能。 一种用于在由程序读取数据之前将数据从文件预取到缓冲器的预取装置包括:历史记录器,用于在执行数据读取时记录由程序发出的多个数据读取的历史; 预取生成器,用于生成对应于记录在历史中的多个数据读数的多个预取取; 预取处理确定单元,用于基于历史确定多个预取取的表现顺序; 以及预取单元,用于当执行所述程序的执行顺序的确定时,执行所述执行顺序中的所述多个预取。
    • 9. 发明申请
    • COMPILATION AND RUNTIME INFORMATION GENERATION AND OPTIMIZATION
    • 编译和运行信息生成与优化
    • US20080162909A1
    • 2008-07-03
    • US11972912
    • 2008-01-11
    • Hideaki KomatsuToshio SuganumaToshiaki Yasue
    • Hideaki KomatsuToshio SuganumaToshiaki Yasue
    • G06F9/30
    • G06F8/443
    • To collect frequencies with which processes of a program are executed at high speed. A compiler apparatus for optimizing a program based on frequencies with which each process is executed has a loop process detection portion for detecting a repeatedly executed loop process of the program, a loop process frequency collection portion for collecting loop process frequencies with which the loop process is executed in the program, an in-loop process frequency collection portion for collecting in-loop process frequencies with which, as against times of execution of loop process, each of a plurality of in-loop processes included in the loop process is executed, an in-loop execution information generating portion for generating in-loop execution information indicating the frequencies with which each of the plurality of in-loop processes is executed in the case where the program is executed, and an optimization portion for optimizing the program based on the in-loop execution information.
    • 收集高速执行程序进程的频率。 一种用于基于执行每个处理的频率对程序进行优化的编译装置,具有循环处理检测部分,用于检测程序的重复执行的循环处理;循环处理频率收集部分,用于收集循环处理频率 在程序中执行的循环过程频率收集部分,用于收集循环处理频率,与执行循环处理的次数相比,执行循环处理中包括的多个循环中的每个处理,执行 循环执行信息生成部分,用于在执行程序的情况下,生成指示执行多个循环中每个处理的频率的循环执行信息;以及优化部分,用于基于 循环执行信息。
    • 10. 发明申请
    • Prefetching apparatus, prefetching method and prefetching program product
    • 预取设备,预取方法和预取程序产品
    • US20070005905A1
    • 2007-01-04
    • US11377518
    • 2006-03-15
    • Toshiaki YasueHideaki Komatsu
    • Toshiaki YasueHideaki Komatsu
    • G06F13/28
    • G06F9/383G06F9/3832
    • The efficient performance of prefetching of data prior to the reading of the data by a program. A prefetching apparatus, for prefetching data from a file to a buffer before the data is read by a program, includes: a history recorder, for recording a history for a plurality of data readings issued by the program while performing data reading; a prefetching generator, for generating a plurality of prefetchings that correspond to the plurality of data readings recorded in the history; a prefetching process determination unit, for determining, based on the history, the performance order for the plurality of prefetchings; and a prefetching unit, for performing, when following the determination of the performance order the program is executed, the plurality of prefetchings in the performance order.
    • 在程序读取数据之前预取数据的有效性能。 一种用于在由程序读取数据之前将数据从文件预取到缓冲器的预取装置包括:历史记录器,用于在执行数据读取时记录由程序发出的多个数据读取的历史; 预取生成器,用于生成对应于记录在历史中的多个数据读数的多个预取取; 预取处理确定单元,用于基于历史确定多个预取取的表现顺序; 以及预取单元,用于当执行所述程序的执行顺序的确定时,执行所述执行顺序中的所述多个预取。