会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 61. 发明授权
    • Method and system for code generation and inlining
    • 代码生成和内联的方法和系统
    • US09235394B2
    • 2016-01-12
    • US13221171
    • 2011-08-30
    • Derek B InglisKiyokuni KawachiyaTamiya OnoderaMichiaki Tatsubori
    • Derek B InglisKiyokuni KawachiyaTamiya OnoderaMichiaki Tatsubori
    • G06F9/45G06F9/455
    • G06F8/4443G06F9/45516
    • A method and system for code generation and inlining. The method includes: scanning a code, where the code includes a method; determining whether the method includes a branch if the method is too large in size to be inlined, where the branch is based on runtime types of argument; profiling runtime types of actual arguments at a call site in the method if the method includes the branch; generating a polymorphic inline cache (PIC) code from a plurality of arguments, where the plurality of arguments are based on a result of the profiling step; generating a specialized method for a frequently appearing combination of the runtime types of argument and arguments that can be invoked from the PIC code; and inlining body of the specialized method into the call site if the specialized method has a body size within a permissible range.
    • 一种用于代码生成和内联的方法和系统。 该方法包括:扫描代码,其中代码包括方法; 确定方法是否包括分支,如果该方法的大小太大以致于内联,其中分支基于参数的运行时类型; 如果方法包含分支,则在方法中的调用站点上分析实际参数的运行时类型; 从多个参数生成多态内联高速缓存(PIC)代码,其中所述多个参数基于所述分析步骤的结果; 生成可以从PIC代码调用的参数和参数的运行时类型的经常出现的组合的专门方法; 并且如果专门的方法具有允许范围内的身体尺寸,则将专门方法的身体内联到呼叫站点。
    • 62. 发明申请
    • SYSTEMS AND METHODS FOR OPTIMIZING SOURCE CODE COMPILING
    • 用于优化源代码编译的系统和方法
    • US20150212803A1
    • 2015-07-30
    • US13933050
    • 2013-07-01
    • Google Inc.
    • Daniel Kenneth CliffordVyacheslav Egorov
    • G06F9/45
    • G06F8/4443
    • Systems and methods for compiling source code are provided. In some aspects, a method includes receiving one or more code stubs configured to be inline cached at one or more call sites of a native code generated by a baseline compiler from a source code. Each of the one or more code stubs is based on an intermediate representation between the source code and the native code. The method also includes translating the source code into the intermediate representation, inlining the one or more code stubs into the translated source code, and optimizing, by an optimizing compiler, at least one of the translated source code and the inlined one or more code stubs.
    • 提供了编译源代码的系统和方法。 在一些方面,一种方法包括:接收一个或多个代码存根,其被配置为在基准编译器从源代码生成的本地代码的一个或多个调用位置处进行内联缓存。 一个或多个代码存根中的每一个基于源代码和本地代码之间的中间表示。 该方法还包括将源代码转换为中间表示,将一个或多个代码存根内联到经翻译的源代码中,以及通过优化编译器优化至少一个经翻译的源代码和内联的一个或多个代码存根 。
    • 63. 发明授权
    • Using an inline stack to improve performance of an applications binary
    • 使用内联堆栈来提高应用程序二进制文件的性能
    • US09009691B1
    • 2015-04-14
    • US13940987
    • 2013-07-12
    • Google Inc.
    • Dehao ChenXinliang David Li
    • G06F9/45
    • G06F8/4443
    • A system and method for using inline stacks to improve the performance of application binaries is included. While executing a first application binary, profile data may be collected about the application that includes which callee functions are called from the application's callsites and the number of times each inline stack is executed. A context summary map may be created from the collected profile data which shows a summary of the total execution count of all instructions in the callee function for each callsite inlined in the application's normal binary. Using the context summary map, each function callsite's execution count may be compared with a predetermined threshold to determine if the function should be inlined. Then the application's profile may be annotated and a second application binary, an optimized binary, may be generated using the annotated profile.
    • 包括使用内联堆栈来提高应用程序二进制文件性能的系统和方法。 在执行第一个应用程序二进制文件时,可以收集关于应用程序的简档数据,该应用程序包括从应用程序调用中调用哪个被调用程序函数以及执行每个内联栈的次数。 可以从收集的简档数据创建上下文摘要图,其中显示了应用程序正常二进制文中内联的每个调用现场的被调用者函数中所有指令的总执行次数的摘要。 使用上下文摘要图,可以将每个函数调用站点的执行计数与预定阈值进行比较,以确定函数是否应该被内联。 然后可以注释应用程序的配置文件,并且可以使用注释的配置文件生成第二个应用程序二进制文件,即优化的二进制文件。
    • 65. 发明申请
    • ASSISTING PARALLELIZATION OF A COMPUTER PROGRAM
    • 协助计算机程序的平行化
    • US20150089468A1
    • 2015-03-26
    • US14033306
    • 2013-09-20
    • Cray Inc.
    • Heidi PoxonJohn LevesqueLuiz DeRoseBrian H. Johnson
    • G06F9/45G06F11/34G06F9/44
    • G06F8/4443G06F8/30G06F8/314G06F8/423G06F8/443G06F8/456G06F11/3404G06F11/3419G06F11/3452
    • A parallelization assistant tool system to assist in parallelization of a computer program is disclosed. The system directs the execution of instrumented code of the computer program to collect performance statistics information relating to execution of loops within the computer program. The system provides a user interface for presenting to a programmer the performance statistics information collected for a loop within the computer program so that the programmer can prioritize efforts to parallelize the computer program. The system generates inlined source code of a loop by aggressively inlining functions substantially without regard to compilation performance, execution performance, or both. The system analyzes the inlined source code to determine the data-sharing attributes of the variables of the loop. The system may generate compiler directives to specify the data-sharing attributes of the variables.
    • 公开了一种用于协助计算机程序并行化的并行化辅助工具系统。 系统指导计算机程序的检测代码的执行,以收集与计算机程序中的循环执行相关的性能统计信息。 该系统提供一个用户界面,用于向程序员呈现为计算机程序内的一个循环收集的性能统计信息,以便程序员能优先考虑并行化计算机程序。 系统通过积极地内联函数,基本上不考虑编译性能,执行性能或两者,生成循环的内联源代码。 系统分析内联源代码以确定循环变量的数据共享属性。 系统可以生成编译器指令来指定变量的数据共享属性。
    • 66. 发明申请
    • SIZE DEPENDENT TYPE IN ACCESSING DYNAMICALLY TYPED ARRAY OBJECTS
    • 访问动态类型阵列对象的尺寸依赖类型
    • US20150067658A1
    • 2015-03-05
    • US14280377
    • 2014-05-16
    • Apple Inc.
    • Mark Hahnenberg
    • G06F9/455
    • G06F12/0815G06F8/315G06F8/4443G06F9/4491G06F9/451G06F9/45504G06F9/45508G06F9/45516G06F9/4552G06F9/45529G06F2212/621
    • A method and an apparatus for providing a flat array type in an object model for dynamically typed programs are described. Whether an array object is of a flat array type can be dynamically tracked for a dynamic language based program. Array elements of an array object of the flat array type may be stored in an inline storage within an object cell of the array object. The inline storage may be limited by available memory space between adjacent object cells. The flat array type of an array object may be detected based on whether the inline storage has sufficient memory space to store elements of the array. An array object of the flay array type may allow array elements of the array object to be accessed within a object cell without additional memory loading via a pointer stored in the object cell.
    • 描述用于在用于动态类型的程序的对象模型中提供平面阵列类型的方法和装置。 数组对象是否为平面数组类型,可以动态地跟踪基于动态语言的程序。 平面数组类型的数组对象的数组元素可以存储在数组对象的对象单元内的内联存储器中。 在线存储可能受到相邻对象单元之间的可用存储空间的限制。 可以基于内联存储器是否具有足够的存储器空间来存储阵列的元素来检测阵列对象的平面阵列类型。 flay数组类型的数组对象可以允许在对象单元内访问数组对象的数组元素,而无需通过存储在对象单元格中的指针进行额外的内存加载。
    • 67. 发明授权
    • System and method for annotation-driven function inlining
    • 注释驱动函数内联的系统和方法
    • US08887140B2
    • 2014-11-11
    • US12688807
    • 2010-01-15
    • Julien LerougeNicholas T. SullivanGideon M. MylesJon McLachlanAugustin J. Farrugia
    • Julien LerougeNicholas T. SullivanGideon M. MylesJon McLachlanAugustin J. Farrugia
    • G06F21/14G06F9/45G06F9/46G06F17/24
    • G06F21/14G06F8/4443G06F9/463G06F17/241
    • Disclosed herein are systems, methods, and computer-readable storage media for obfuscating using inlined functions. A system configured to practice the method receives a program listing including annotated functions for obfuscation, identifies an annotated function called more than once in the program listing, and creates an inline control flow structure in the program listing for the identified annotated function, the control flow structure being computationally equivalent to inlining the identified annotated function into the program listing for each occurrence of the identified annotated function. The program listing can include tiers of annotated functions. The system can identify annotated functions called more than once based on an optionally generated callgraph. The system can create inline control flow structures in the program listing in order of annotation importance. The system can identify how many times each annotated function is called in the program listing.
    • 本文公开了用于使用内联函数进行混淆的系统,方法和计算机可读存储介质。 配置为实施该方法的系统接收包括用于模糊化的注释功能的程序列表,在程序列表中标识多于一次的注释函数,并且在所述程序列表中为所识别的注释功能创建一个内联控制流结构, 计算结构相当于将所识别的注释功能内联到所述识别的注释功能的每次出现的程序列表中。 程序列表可以包括注释功能的层次。 系统可以基于可选地生成的呼叫图来识别多次调用的注释功能。 该系统可以在注释重要性的顺序创建程序列表中的内联控制流结构。 系统可以识别每个注释功能在程序列表中调用的次数。
    • 70. 发明申请
    • Packed Data Objects
    • 打包数据对象
    • US20130086569A1
    • 2013-04-04
    • US13559908
    • 2012-07-27
    • Graham A. ChapmanAnderson Klegues FragaMike S. FultonKishor V. Patil
    • Graham A. ChapmanAnderson Klegues FragaMike S. FultonKishor V. Patil
    • G06F9/45
    • G06F9/45516G06F8/443G06F8/4443
    • A computer-implemented process for creating a packed data object, the computer-implemented process comprising providing instrumentation to an enhanced runtime by an enhanced compiler for a computer executable program portion, detecting a special class in the computer executable program portion by the enhanced runtime, creating an internal representation of a packed data object header using the instrumentation, calculating a size of elements for a packed data object associated with the computer executable program portion, determining a type of packed data object using information in the packed data object header, and responsive to a determination that the type of packed data object is an on-heap packed data object, storing the packed data object header and associated packed data object data together for the packed data object in a memory heap.
    • 一种用于创建打包数据对象的计算机实现的过程,所述计算机实现的过程包括通过用于计算机可执行程序部分的增强编译器向增强型运行时提供仪器,通过增强的运行时间检测计算机可执行程序部分中的特殊类, 使用所述仪器创建打包数据对象头的内部表示,计算与所述计算机可执行程序部分相关联的打包数据对象的元素的大小,使用所述打包数据对象头中的信息确定打包数据对象的类型,以及响应 以确定打包数据对象的类型是堆叠打包数据对象,将打包数据对象头和相关联的打包数据对象数据存储在一起用于存储堆中的打包数据对象。