Unifying static and dynamic compiler optimizations in source-code bases

    公开(公告)号:US09417857B2

    公开(公告)日:2016-08-16

    申请号:US14594954

    申请日:2015-01-12

    Abstract: Techniques are described for unifying static and dynamic compiler optimizations in source code bases. In an embodiment, a first compiler compiles source code of a target function to generate ahead-of-time (AOT) compiled machine code. A second compiler compiles the source code to generate an intermediate representation (IR) of the target function. In response to determining that the target function should be just-in-time (JIT) compiled, the AOT-compiled machine code for the target function is linked to the IR of the target function. During runtime, a physical processor executes AOT-compiled machine code of an executable program. When the target function is encountered for the first time, a JIT compiler is invoked. The JIT compiler generates JIT-compiled machine code for the target function. The physical processor executes the JIT-compiled machine code in place of the AOT-compiled machine code for the target function.

    System For Applying Transformation To Improve Graph Analysis
    2.
    发明申请
    System For Applying Transformation To Improve Graph Analysis 有权
    应用变换的系统来改善图形分析

    公开(公告)号:US20140189665A1

    公开(公告)日:2014-07-03

    申请号:US13733424

    申请日:2013-01-03

    CPC classification number: G06F8/443

    Abstract: A method for performing a neighbor-flipping transformation is provided. In one embodiment, a graph analysis program for computing a function relating to nodes in a directed graph is obtained and analyzed for neighborhood iterating operations, in which a function is computed over sets of nodes in the graph. For any detected neighborhood iterating operation, the method transforms the iterating operation by reversing the neighbor node relationship between the nodes in the operation. The transformed operation computes the same value for the function as the operation prior to transformation. The method alters the neighbor node relationship automatically, so that a user does not have to recode the graph analysis program. In some cases, the method includes construction of edges in the reverse direction while retaining the original edges in addition to performing the transformation.

    Abstract translation: 提供了一种执行相邻翻转变换的方法。 在一个实施例中,获得用于计算与有向图中的节点有关的功能的图分析程序,并对其进行邻域迭代操作进行分析,其中在图中的节点集合上计算函数。 对于任何检测到的邻域迭代操作,该方法通过在操作中颠倒节点之间的邻居节点关系来转换迭代操作。 转换的操作计算与变换之前的操作相同的函数值。 该方法自动更改邻居节点关系,使用户不必重新编码图形分析程序。 在某些情况下,除了执行变换之外,该方法还包括沿相反方向构造边缘,同时保留原始边缘。

    Enabling symbol resolution of private symbols in legacy programs and optimizing access to the private symbols
    4.
    发明授权
    Enabling symbol resolution of private symbols in legacy programs and optimizing access to the private symbols 有权
    启用遗留程序中私有符号的符号解析,并优化对私有符号的访问

    公开(公告)号:US08881123B2

    公开(公告)日:2014-11-04

    申请号:US13690513

    申请日:2012-11-30

    CPC classification number: G06F8/4441

    Abstract: A method for generating a binary executable of a program so that private symbols in a module are accessible from another module. In one embodiment, the method compiles a source program to an intermediate representation and scans the representation to find the private symbols in the program's modules. It then wraps a function around each private symbol. When called, the function returns an address of the private symbol, so that the other module can access the symbol from outside the module in which the symbol is found. At run time, a call is made to obtain the address of the function, which is then executed to obtain the address of the private symbol so that the symbol can be accessed. In another embodiment, a Just-In-Time compiler executes the wrapper functions and patches the executable program with the direct address of the private symbol to avoid a call to the wrapper function.

    Abstract translation: 一种用于生成程序的二进制可执行程序的方法,使得模块中的私有符号可从另一个模块访问。 在一个实施例中,该方法将源程序编译为中间表示,并扫描该表示以在程序模块中找到专用符号。 然后它围绕每个私有符号包装一个函数。 当被调用时,该函数返回私有符号的地址,以便另一个模块可以从找到符号的模块外部访问该符号。 在运行时,进行呼叫以获取功能的地址,然后执行该地址以获得私有符号的地址,以便可以访问该符号。 在另一个实施例中,即时编译器执行包装器功能并使用私有符号的直接​​地址对可执行程序进行修补以避免对包装函数的调用。

    Enabling Symbol Resolution of Private Symbols in Legacy Programs and Optimizing Access to the Private Symbols
    5.
    发明申请
    Enabling Symbol Resolution of Private Symbols in Legacy Programs and Optimizing Access to the Private Symbols 有权
    在传统程序中启用符号解析私人符号,并优化对私有符号的访问

    公开(公告)号:US20140157247A1

    公开(公告)日:2014-06-05

    申请号:US13690513

    申请日:2012-11-30

    CPC classification number: G06F8/4441

    Abstract: A method for generating a binary executable of a program so that private symbols in a module are accessible from another module. In one embodiment, the method compiles a source program to an intermediate representation and scans the representation to find the private symbols in the program's modules. It then wraps a function around each private symbol. When called, the function returns an address of the private symbol, so that the other module can access the symbol from outside the module in which the symbol is found. At run time, a call is made to obtain the address of the function, which is then executed to obtain the address of the private symbol so that the symbol can be accessed. In another embodiment, a Just-In-Time compiler executes the wrapper functions and patches the executable program with the direct address of the private symbol to avoid a call to the wrapper function.

    Abstract translation: 一种用于生成程序的二进制可执行程序的方法,使得模块中的私有符号可从另一个模块访问。 在一个实施例中,该方法将源程序编译为中间表示,并扫描该表示以在程序模块中找到专用符号。 然后它围绕每个私有符号包装一个函数。 当被调用时,该函数返回私有符号的地址,以便另一个模块可以从找到符号的模块外部访问该符号。 在运行时,进行呼叫以获取功能的地址,然后执行该地址以获得私有符号的地址,以便可以访问该符号。 在另一个实施例中,即时编译器执行包装器功能并使用私有符号的直接​​地址对可执行程序进行修补以避免对包装函数的调用。

    VERSIONING IN INTERNET FILE SYSTEM
    6.
    发明申请
    VERSIONING IN INTERNET FILE SYSTEM 审中-公开
    互联网文件系统中的版本

    公开(公告)号:US20130066929A1

    公开(公告)日:2013-03-14

    申请号:US13671429

    申请日:2012-11-07

    Abstract: Techniques are provided for managing versions of files in a file system. According to one technique, new versions of directories are created in response to creation of new versions of files that descend from the directories, where the different versions of a versioned directory are associated with different points in time. Links are maintained between the files in the file system such that the versions of the files that descend from a particular version of a versioned directory reflect the point in time associated with the versioned directory.

    Abstract translation: 提供技术来管理文件系统中的文件的版本。 根据一种技术,创建新版本的目录以响应于从目录下降的新版本的文件的创建,其中版本化目录的不同版本与不同的时间点相关联。 在文件系统中的文件之间保持链接,使得从版本化目录的特定版本下降的文件的版本反映与版本化目录相关联的时间点。

    DOC4CODE - AN AI-DRIVEN DOCUMENTATION RECOMMENDER SYSTEM TO AID PROGRAMMERS

    公开(公告)号:US20240345811A1

    公开(公告)日:2024-10-17

    申请号:US18202756

    申请日:2023-05-26

    CPC classification number: G06F8/36 G06F16/955 G06F40/40

    Abstract: Herein for each source logic in a corpus, a computer stores an identifier of the source logic and operates a logic encoder that infers a distinct fixed-size encoded logic that represents the variable-size source logic. At build time, a multidimensional index is generated and populated based on the encoded logics that represent the source logics in the corpus. At runtime, a user may edit and select a new source logic such as in a text editor or an integrated development environment (IDE). The logic encoder infers a new encoded logic that represents the new source logic. The multidimensional index accepts the new encoded logic as a lookup key and automatically selects and returns a result subset of encoded logics that represent similar source logics in the corpus. For display, the multidimensional index may select and return only encoded logics that are the few nearest neighbors to the new encoded logic.

    SHARED CROSS-SESSION DICTIONARY USING DIRECT DATA ACCESS IN A DBMS

    公开(公告)号:US20240289306A1

    公开(公告)日:2024-08-29

    申请号:US18113707

    申请日:2023-02-24

    Abstract: Herein, a guest language is a programing language that is not the native data access language (e.g. structured query language, SQL) of a database server. When instantiated in the database server, a guest language runtime environment provides any mechanisms needed to execute the guest language. In an embodiment contained entirely within the database server, multiple guest language runtime environments for same or different guest languages use respective database sessions to share a key-value store in RAM that stores rows from a persistent relational table. Consumption of computer resources such as time and memory space is decreased because the persistent relational table's operation by the key-value store does not generate a database statement, does not parse a database statement, does not query plan, and does not execute a database statement.

    Isolation for applications working on shared XML data
    9.
    发明授权
    Isolation for applications working on shared XML data 有权
    用于共享XML数据的应用程序的隔离

    公开(公告)号:US08930348B2

    公开(公告)日:2015-01-06

    申请号:US13953582

    申请日:2013-07-29

    CPC classification number: G06F17/30011 G06F17/2229 G06F17/2247 G06F17/30908

    Abstract: A mechanism is provided for detecting and disregarding application specific nodes contained in shared XML documents. The techniques described involve determining one or more application specific nodes within XML documents and performing path expression evaluations of the XML documents as if the nodes are not present. In one embodiment, a mechanism is provided by which a user may specify the criterion that determine which subset of node in XML documents are to be ignored from path expression evaluations and evaluating a query that specifies a path operation based on a path and ignoring said identified nodes when evaluating said path operation.

    Abstract translation: 提供了一种用于检测和忽略包含在共享XML文档中的应用程序特定节点的机制。 所描述的技术涉及确定XML文档内的一个或多个应用特定节点,并且如同节点不存在一样执行XML文档的路径表达式评估。 在一个实施例中,提供了一种机制,用户可以通过该机制指定确定XML文档中的节点的哪个子集将被从路径表达式评估中忽略的标准,并且基于路径评估指定路径操作的查询,并忽略所述标识的 节点在评估所述路径操作时。

    Type system for building extensible business applications
    10.
    发明授权
    Type system for building extensible business applications 有权
    用于构建可扩展业务应用程序的类型系统

    公开(公告)号:US08924416B2

    公开(公告)日:2014-12-30

    申请号:US13923033

    申请日:2013-06-20

    CPC classification number: G06F17/30424 G06F17/30923

    Abstract: A platform (referred to herein as Extensible Application Platform, or XAP) for developing extensible business applications. In one set of embodiments, XAP can include an Extensible Markup Language (XML) based application model that is designed to support a high degree of application extensibility. For example, the XAP application model can support declarative definition of application semantics, separation of application data and metadata, and a flexible type system that allows constraints and calculations (e.g., XQuery constraints and calculations) for a data object instance (e.g., an XML document) to change over time. In certain embodiments, the XAP application model can be implemented via a server-side database/application engine that is configured to interoperate with a spreadsheet-like, client-side user interface. Using the spreadsheet-like UI, a non-programmer can build, customize, and run an application workflow that operates on top of a shared database like a traditional business application.

    Abstract translation: 用于开发可扩展业务应用程序的平台(在此称为可扩展应用程序平台或XAP)。 在一组实施例中,XAP可以包括基于可扩展标记语言(XML)的应用模型,其被设计为支持高度的应用可扩展性。 例如,XAP应用程序模型可以支持应用程序语义的声明性定义,应用程序数据和元数据的分离以及允许数据对象实例的约束和计算(例如,XQuery约束和计算)的灵活类型系统(例如,XML 文件)随时间变化。 在某些实施例中,XAP应用模型可以经由服务器端数据库/应用引擎来实现,其被配置为与电子表格样的客户端用户界面进行互操作。 使用类似电子表格的UI,非程序员可以构建,自定义和运行在诸如传统业务应用程序的共享数据库之上运行的应用程序工作流。

Patent Agency Ranking