摘要:
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.
摘要:
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.
摘要:
Techniques are provided for performing OID-to-VMA translations during runtime. Vector registers are used to implement a “software TLB” to perform OID-to-VMA translations. Runtime dereferencing is performed using one or more vector registers to compare each OID that needs to be dereferenced against a set of cached OIDs. When a cached OID matches the OID being dereferenced, the VMA of the cached OID is retrieved from cache. Buffer cache items may be pinned during the period in which the software TLB stores entries for the items. The cache of OID translation information may be single or multi-leveled, and may be partially or completely stored in registers within a processor. When stored in registers, the translation information may be spilled out of the register, and reloaded into the register, as the register is needed for other purposes.
摘要:
A method and apparatus for processing path-based database operations is provided. According to one aspect, a path cache is maintained. For each hierarchical node that is traversed during a path-determining operation, it is determined whether a cache entry corresponding to that node is already contained in the path cache. If such a cache entry is already contained in the path cache, then the path indicated in that cache entry is used to complete the pathname for the node for which the operation is being performed. As a result, hierarchically higher nodes do not need to be traversed to complete the operation. Alternatively, if such a cache entry is not already contained in the path cache, then a cache entry for the node currently being traversed is generated and inserted into the path cache for use in subsequent path-determining operations.
摘要:
A method and apparatus for managing relationships between resources stored in a repository is provided. A client sends, to a server, a request to store a first resource within a repository. In response to receiving the request, the server parses the first resource to retrieve relationship data that identifies a relationship between two or more resources to be stored, or currently stored, within the repository. The server stores, within a database accessible to the server, one or more relationship records that identify the relationship between the two or more resources. The one or more relationship records are stored separate from the two or more resources. Subsequently, the client may issue queries, to the server, about the one or more relationships records stored in the database. In this way, a user may access the one or more relationship records to analyze the relationship between resources stored in repository.
摘要:
Systems, methods, and other embodiments associated with providing an XML-based translation service are described. One method embodiment includes accessing a translation-aware XML document that may comply with a translation-enabling XML schema. The document may store a first XML element that stores translatable data and a second XML element that stores a translation of the translatable data. The schema may describe that the first XML element includes a first identifier that identifies the first element as storing translatable data. The schema may also describe that the second XML element includes a second identifier that identifies the second element as storing a translation for translatable data. The method may also include establishing a session language identifier and providing a virtual view of the translation-aware XML document, the virtual view being determined, at least in part, by the session language identifier.
摘要:
A method and storage media for performing access resolution using ACL types is provided. Under an AND semantic, an intersection set formed from the types of multiple ACLs protecting a resource may be utilized to efficiently determine whether a request for a privilege to access the resource is granted or denied. If the privilege is not a member of the intersection set, the privilege cannot be granted. A union set may be used for an OR semantic. A global ACL type may represent all privileges system-wide or application-wide. A global ACL may represent a system-wide or application-wide access policy. A conjunction of a global ACL and a regular ACL may be stored in a cache. The union set, intersection set, or access resolution may also be cached for subsequent request processing.
摘要:
A method and apparatus for sharing state information among a plurality of servers is provided. A first server receives a request to perform a file operation, such as a NFS file system operation. Thereafter, the first server updates state information to reflect a change in state associated with processing the request. The first server then causes state update information, which identifies the change in state that was made at the first server, to be propagated to a second server. The second server updates state information, stored at the second server, to reflect the change in state associated with processing the request at the first server. Advantageously, a client may send a series of stateful file operations to either the first server or the second server, even if processing any one of the stateful file operation requests requires knowledge of the state of processing prior requests in the series of requests.
摘要:
A method and system are provided for maintaining an XML index in response to piece-wise modifications on indexed XML documents. The database server that manages the XML index determines which nodes are involved in the piece-wise modifications, and updates the XML index based on only those nodes. Index entries for nodes not involved in the piece-wise modifications remain unchanged.
摘要:
Techniques are provided for accessing data stored in a database. According to one technique, an application makes one or more calls to an operating system to access a file. The operating system includes routines that implement an operating system file system. The one or more calls are made to the routines that implement the operating system file system. In response to the one or more calls, one or more database commands are issued to a database server that manages the database. The database server executes the database commands to retrieve the data from the database. The file is generated from the data, and provided to the application.