摘要:
Methods to improve optimization of compilation are presented. In one embodiment, a method includes identifying one or more optimization speculations with respect to a code region and speculatively performing transformation on an intermediate representation of the code region in accordance with an optimization speculation. The method includes generating an advice message corresponding to the optimization speculation and displaying the advice message if the optimization speculation results in an improved compilation result.
摘要:
A code section of a computer program to be executed by a computing device includes memory barrier instructions. Where the code section satisfies a threshold, the code section is modified, by enclosing the code section within a transaction that employs hardware transactional memory of the computing device, and removing the memory barrier instructions from the code section. Execution of the code section as has been enclosed within the transaction can be monitored to yield monitoring results. Where the monitoring results satisfy an abort threshold corresponding to excessive aborting of the execution of the code section as has been enclosed within the transaction, the code section is split into code sub-sections, and each code sub-section enclosed within a separate transaction that employs the hardware transactional memory. Splitting the code section sections and enclosing each code sub-section within a separate transaction can decrease occurrence of the code section aborting during execution.
摘要:
Optimizing compiled code includes finding a portion of the compiled code arising from method calls in a portion of source code that were not chained method calls. Modified code is produced for the portion of the compiled code, wherein the modified code conforms to compiled code that would have arisen from source code having chained calls equivalent to the method calls that were not chained in the portion of the source code.
摘要:
The present invention prdvides a method and a caching node entity for ensuring at least a predetermined number of a content object to be kept stored in a network, comprising a plurality of cache nodes for storing copies of content objects. The present invention makes use of ranking states values, deletable or non-deletable, which when assigned to copies of content objects are indicating whether a copy is either deletable or non-deletable. At least one copy of each content object is assigned the value non-deletable The value for a copy of a content object changing from deletable to non-deletable in one cache node of the network, said copy being a candidate for the value non-deletable, if a certain condition is fulfilled.
摘要:
A dynamic compiler program product, method, and device for sequentially compiling a partial computer program in a computer. The program product causes the computer to: acquire respective values of one or more pieces of current execution status information; read, from the shared pool, a list of the conditions associated with an executable instruction stream generated by compiling a partial program that is the same as a partial program to be compiled, and determine whether respective values of corresponding pieces of current execution status information satisfy the conditions. The program product causes the computer to further generate an executable instruction stream by compiling the partial program to be compiled on the condition that a result of determination made is negative.
摘要:
The method includes: —pre-compiling a source code including determining (212), in the source code, the presence of one or a plurality of array computations on one or a plurality of arrays, referred to as input arrays, the result whereof is assigned to an array, referred to as a result array, and modifying (214) the source code according to the array computation(s) for which the presence has been determined; and —compiling (238) the modified source in machine code intended to be executed by a computer system, referred to as a target computer system, having a processor, the compiling (238) of the modified source code including compiling the command instructions in instructions which, when executed by the processor of the target computer system, command a specialised electronic device, different from the processor, to carry out each array computation detected.
摘要:
Embodiments include systems and methods for generating an application code binary that exploits new platform-specific capabilities, while maintaining backward compatibility with other older platforms. For example, application code is profiled to determine which code regions are main contributors to the runtime execution of the application. For each hot code region, a determination is made as to whether multiple versions of the hot code region should be produced for different target platform models. Each hot code region can be analyzed to determine if benefits can be achieved by exploiting platform-specific capabilities corresponding to each of N platform models, which can result in between one and N versions of that particular hot code region. Navigation instructions are generated as part of the application code binary to permit a target machine to select appropriate versions of the hot code sections at load time, according to the target machine's capabilities.
摘要:
Exemplary embodiments of the present invention disclose a method and system for replacing an unevaluated input that is constant at runtime to a group of instructions that calculates an output and can not modify the unevaluated input with invocation code that calls evaluation code. In a step, an exemplary embodiment identifies a group of instructions with an unevaluated input that is constant at runtime that calculates an output and can not modify the unevaluated input. In another step, an exemplary embodiment identifies an unevaluated input to the group of instructions that is constant at runtime. In another step, an exemplary embodiment generates an evaluation code that evaluates the unevaluated input. In another step, an exemplary embodiment replaces the unevaluated input with an invocation code that invokes the evaluation code.
摘要:
Disclosed here are methods, systems, paradigms and structures for optimizing intermediate representation (IR) of a script code for atomic execution. Atomic execution of the script is achieved by generating portions of the IR as an atomic transaction. In an atomic transaction, a series of operations either all execute, or none executes. The IR includes checkpoints that evaluate to one of two possible values. The checkpoint evaluates to a first value when there is no error during execution, and evaluates to a second value when an error occurs. The IR is optimized for atomic execution by regenerating a portion of the IR including the checkpoint and code associated with the checkpoint as a transaction. When an error occurs during the execution of the transaction, the transaction is aborted and a state of execution of the script code is reverted to a state prior to the beginning of the transaction.
摘要:
A technique for optimizing a program by reusing an execution result of a subclass test function. It includes a reusability determining unit to determine reusability of code of a subclass test function based on whether access to a global memory includes only access for reading out type information specified in a function call, a profiling unit configured to store an execution result of code determined to be reusable and specified information in a storage device in association with actually accessed type information, a reuse processing unit configured to reuse, in response to detection of a function call for calling the code determined to be reusable, the execution result on condition that the pieces of specified information specified in the function calls match, and a monitoring unit configured to monitor the type information associated with the execution result and prohibit reuse of the execution result if the type information is changed.