会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 6. 发明授权
    • Augmenting profile data with information gathered from a JIT compiler
    • 使用从JIT编译器收集的信息增强配置文件数据
    • US09317308B2
    • 2016-04-19
    • US14631904
    • 2015-02-26
    • International Business Machines Corporation
    • Fiona M. CrowtherGeza GelejiChristopher J. PooleMartin A. RossCraig H. Stirling
    • G06F9/45G06F9/455
    • G06F9/45516G06F8/4443G06F9/4552
    • A method, executed by a computer, for augmenting a first performance profile with data extracted from a Just-in-Time compiler, the Just-in-Time compiler compiling bytecodes into machine instructions and generating the first performance profile, the bytecodes having an associated original call structure includes: tracking “in-lining” optimizations performed by a Just-in-Time compiler compiling bytecodes into machine instructions; extracting data associated with the tracked “in-lining” optimizations; storing the extracted data in a second profile; and augmenting the first performance profile with the extracted data associated with the tracked “in-lining” optimizations, the extracted data comprising call paths corresponding to the original call structure associated with the bytecodes. A corresponding computer program product and computer system are also disclosed herein.
    • 一种由计算机执行的用于通过从即时编译器提取的数据来扩充第一性能简档的方法,即时编译器将字节码编译成机器指令并生成第一性能配置文件,该字节码具有相关联的 原始呼叫结构包括:跟踪由即时编译器执行的“内联”优化,将字节码编译成机器指令; 提取与跟踪的“内衬”优化相关联的数据; 将所提取的数据存储在第二简档中; 并且利用与跟踪的“内联”优化相关联的提取的数据来扩充第一性能简档,所提取的数据包括与与该字节码相关联的原始呼叫结构对应的呼叫路径。 本文还公开了相应的计算机程序产品和计算机系统。
    • 7. 发明授权
    • Method for controlling inlining in a code generator
    • 用于控制代码生成器中的内联的方法
    • US09304748B2
    • 2016-04-05
    • US14014571
    • 2013-08-30
    • QUALCOMM Incorporated
    • Christopher A. VickAndres Valencia
    • G06F9/45G06F9/455G06F11/34
    • G06F8/443G06F8/4443G06F9/45504G06F9/45516G06F11/3466
    • The various aspects leverage the novel observation that the number of call sites in code is directly correlated with the code's compile time and provide methods implemented by a compiler operating on a computing device (e.g., a smartphone) for performing inline throttling based on a projected number of call sites in the code that would exist after performing inline expansion. The various aspects enable the compiler to improve the performance of the generated code by aggressive inlining while carefully managing increases in compile time, thereby decreasing the power required to compile the code while increasing performance of the computing device. Thus, by inlining enough call sites to reduce the costs of handling calls while accounting for the costs of inlining, the various aspects provide for an effective balance of short compile times and effective code performance.
    • 各个方面利用新颖的观察结果,代码中的调用位置的数量与代码的编译时间直接相关,并提供由在计算设备(例如,智能电话机)上操作的编译器实现的方法,用于基于预测的数字执行内联调节 在执行内联扩展后将存在的代码中的调用网站。 各个方面使编译器能够通过积极的内联来提高生成代码的性能,同时谨慎地管理编译时间的增加,从而降低编译代码所需的功耗,同时提高计算设备的性能。 因此,通过内联足够的呼叫站点来降低处理呼叫的成本,同时考虑到内联的成本,各个方面提供了缩短编译时间和有效的代码执行的有效平衡。
    • 9. 发明授权
    • Feedback-directed inter-procedural optimization
    • 反馈导向的过程间优化
    • US08806463B1
    • 2014-08-12
    • US14275338
    • 2014-05-12
    • Google Inc.
    • Xinliang David LiRaksit AshokRobert Hundt
    • G06F9/45G06F9/44
    • G06F8/30G06F8/443G06F8/4443
    • A method includes generating a first executable program module based on source code modules and collecting profile information for the source code modules by executing the first executable program module. The profile information includes information pertaining to invocation of procedures in the first executable program module. The method further includes determining module grouping information for the source code modules based on procedure invocation patterns in the profile information and according to one or more inter-procedural optimization (IPO) heuristics. The method includes performing IPO based on the module grouping information to generate object code modules and generating a second executable program module based on the plurality of object code modules.
    • 一种方法包括:通过执行第一可执行程序模块,基于源代码模块生成第一可执行程序模块并收集源代码模块的简档信息。 简档信息包括关于调用第一可执行程序模块中的过程的信息。 该方法还包括基于简档信息中的过程调用模式并根据一个或多个过程间优化(IPO)启发式来确定源代码模块的模块分组信息。 该方法包括基于模块分组信息执行IPO以生成目标代码模块,并且基于多个目标代码模块生成第二可执行程序模块。
    • 10. 发明授权
    • Updating profile frequency for procedure inlining
    • 更新程序内联的配置文件频率
    • US07340732B2
    • 2008-03-04
    • US10723877
    • 2003-11-26
    • Junjie Gu
    • Junjie Gu
    • G06F9/45
    • G06F8/4443
    • A method and apparatus for frequency-updating for procedure inlining. The frequency-updating scheme assumes the call graph of a program has no cycles. It keeps the frequency for each procedure as accurate as that before inlining. Using the present invention, the runtime performance of a source program by a compiler is improved. A source program is analyzed to generate a call graph of the source program, wherein each of the procedures has a first known execution frequency. The call graph is used in conjunction with inlining plans by an inlining algorithm to generate an inlined version of the source program wherein selected call sites have been inlines. An updated execution frequency is generated for each of the procedures and the updated execution frequency for each of the procedures is used to generate optimized executable code for the source program.
    • 一种用于程序内联的频率更新的方法和装置。 频率更新方案假设程序的调用图没有循环。 它保持每个程序的频率与内联之前的频率一样准确。 使用本发明,提高了编译器对源程序的运行性能。 分析源程序以生成源程序的调用图,其中每个过程具有第一已知执行频率。 调用图与内联算法结合内联计划一起使用,以生成源程序的内联版本,其中所选择的呼叫站点已经内联。 为每个过程生成更新的执行频率,并且用于每个过程的更新的执行频率用于为源程序生成优化的可执行代码。