Patent classifications
G06F8/48
Method and apparatus for performing automatic data compression algorithm selection during high-level compilation
A method for performing a high-level compilation of a computer program language (CPL) description of a system to generate a hardware description language (HDL) of the system includes inserting one or more compression/decompression units into the HDL in response to detecting a user inserted term in a kernel definition of an argument in the CPL description to indicate that the argument requires compression.
Techniques for logging information
This application relates generally to logging information, and more particularly to techniques for configuring a software product to have each log call in source code controllable at runtime. The source code can be preprocessed so that individual log calls in the source code can be identified and tracked. Information specifying locations of the log calls can be used to generate a bitmap indicating whether to write log messages (corresponding to the log calls) to a log file. The preprocessed source code can then be compiled into executable code, which can be packaged with the bitmap into an executable product such that the executable code can run based on the bitmap. While the executable code is executing, examples described herein can also allow the bitmap to be updated, allowing control during execution.
Systems and methods for automapping source code to machine code
Systems and methods for mapping a location in a source code to a location in a machine code are disclosed. An identifier of the source code and an identifier of a first location of the source code are received. A marker is inserted in association with the source code based on the identifier of the first location. The source code is compiled into machine code. A second location associated with the marker is identified in the machine code. A third location is returned based on identifying the second location.
Fast presentation of markup content having script code
Dynamic code generation and coordination techniques are provided for display of dynamic markup documents including script code. A code generation process is not only guided by deferral of code preparation stages and sub-stages, but also informed by various information levels possessed concerning the code itself, either through interpretation or observation of execution, to not only generate modified code, but also to generate alternative code for alternative situations (e.g., generating different loop bodies that can thereafter be readily swapped in or out depending on a given function call by the browser application). A multi-core architecture further improves user experience by asymmetrically ensuring web site presentation and functionality is prioritized for the user experience.
Optimized recompilation using hardware tracing
A tracing controller may utilize a binary execution trace mechanism to trace execution of compiled application machine code. The tracing controller may initiate hardware tracing to gather control-flow hardware traces of a method executing on a processor configured to generate hardware tracing information. The controller may generate a profile based on the hardware tracing information and initiate re-compiling or re-optimizing of the method in response to determining that the new profile differs from the previous profile. The controller may repeatedly profile and re-optimize a method until profiles for the method stabilize. Profiling and hardware tracing of an application may be selectively enabled or disabled allowing the controller to respond to later phase changes in application execution by re-optimizing, thereby potentially improving overall application performance.
Techniques and architectures for maintaining metadata version controls
Techniques and architectures for maintaining metadata version controls. A change to metadata within a computing environment is detected. Metadata subject to the change is decompiled into a source object that is in a format compatible with a version control system (VCS). The source object is stored in the VCS with relationship information to indicate a relationship to another source object, if the relationship is determined.
System and method for store fusion
Described herein is a system and method for store fusion that fuses small store operations into fewer, larger store operations. The system detects that a pair of adjacent operations are consecutive store operations, where the adjacent micro-operations refers to micro-operations flowing through adjacent dispatch slots and the consecutive store micro-operations refers to both of the adjacent micro-operations being store micro-operations. The consecutive store operations are then reviewed to determine if the data sizes are the same and if the store operation addresses are consecutive. The two store operations are then fused together to form one store operation with twice the data size and one store data HI operation.
System, method and computer readable medium for space-efficient binary rewriting
According to some illustrative embodiments of the invention, a method is performed that includes using a representation of a computer software program, using identified addresses which correspond to a part of the representation, and converting the representation into a created binary program, which includes reserving spaces at the identified addresses in the created binary program's address space at the same addresses as the identified addresses in the representation.
Optimized Recompilation using Hardware Tracing
A tracing controller may utilize a binary execution trace mechanism to trace execution of compiled application machine code. The tracing controller may initiate hardware tracing to gather control-flow hardware traces of a method executing on a processor configured to generate hardware tracing information. The controller may generate a profile based on the hardware tracing information and initiate re-compiling or re-optimizing of the method in response to determining that the new profile differs from the previous profile. The controller may repeatedly profile and re-optimize a method until profiles for the method stabilize. Profiling and hardware tracing of an application may be selectively enabled or disabled allowing the controller to respond to later phase changes in application execution by re-optimizing, thereby potentially improving overall application performance.
Incremental whole program compilation of code
Methods, systems, and computer program products are provided that enable incremental compilation of source code. Attributes of an intermediate language (IL) representation and a compiled representation of a source code are stored. Modified source code that is a revised version of the first source code is received. An IL representation of the modified source code is generated. Attributes of the revised intermediate IL and the stored attributes of the IL representation are compared to determine a first set of functions changed in the modified source code. A second set of functions in the first source code is determined that includes functions affected the determined first set of functions. The first and second sets of functions are compiled to generate a set of compiled functions. Compiled versions of the first and second sets are replaced in the compiled representation of the first source code with the set of compiled functions.