摘要:
Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.
摘要:
Techniques are described herein that are capable of selectively loading precompiled header(s) and/or portion(s) thereof. A precompiled header is a complied (e.g., precompiled) representation of a header file. For instance, the compiled representation may be in an intermediate form that a compiler may process more quickly than the non-compiled header file. In one example, the precompiled header(s) and/or portion(s) thereof may be selectively loaded based on whether the precompiled header(s) and/or portion(s) thereof are referenced in a computer program. In another example, loading a portion of a precompiled header may be deferred until content of the portion is referenced in a computer program.
摘要:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for extracting source code. One of the methods includes receiving, by a newly created process, a request to execute code of an executable file in the newly created process, wherein the request specifies a parameter. The newly created process loads a process interception library. Library initialization code of the process interception library determines whether the parameter should be intercepted. In response to determining that the parameter should be intercepted, the parameter is provided to another process.
摘要:
The present invention discloses a method of flow control in a computing device, for processing of flow control statements to adapt a data structure of a program running on the computing device and a computer program product storing the method. The invention thereby allows the integration of the kernels into the main program when compiling. The whole parsing of the CPU program parts and the kernels is done by one single standard compiler. The actual compiler for the device can be linked as a library and does not need to do any parsing. The invention further allows loops and if-clauses to be used in language-embedded GPGPU programming, enabling full general-purpose programming of the device in a way that is fully embedded in an ordinary programming language. The device can be a highly parallel computing device, such as a video card, or some other computing device.
摘要:
Build-time resolution and type-enforcing of corresponding references in different code that references the same value. In response to detecting a directive within the code itself that a first reference in first code is to be correlated with a second reference in second code, and in response to detection that the types of the references are the same, a code generation tool generates correlation code that is interpretable to a compiler as allowing a value of a type of the first reference of a compiled-form of the first code to be passed as the same value of the same type of the second reference of a compiled-form of the second code. The first code, the second code, and the generated correlation code may then be compiled. If compilation is successful, this means that the first and second references are already properly resolved as referring to the same value and type-enforced.
摘要:
A method and an apparatus for testing browser compatibility are provided. The method may include pre-processing source code of a webpage to determine a code type. A compatibility rule library may be obtained according to the code type. Further, a syntax parsing may be conducted on the source code to obtain a syntax tree of the source code. The browser compatibility of the webpage may be tested by conducting a static analysis of the source code based on the compatibility rule library and the syntax tree. The disclosed method and apparatus for testing browser compatibility can automatically conduct static analysis of the webpage source code to test browser compatibility, which is simple and inexpensive.
摘要:
Systems and methods for desired state configuration (DSC) are disclosed. DSC provides the ability to perform declarative configuration natively within a shell language and to use early-bound schematized data constructs embedded in a late-bound shell language. This allows declarative programming elements to be incorporated into imperative languages, such as scripts for configuration management. Script may combine the power of an imperative shell language with the ease of use of a declarative language and may use both imperative and declarative syntax in the same language.
摘要:
A technique for creating dynamically attachable and detachable binary files is provided. The invention provides an efficient mechanism to manage the existing code bases with respect to the additional code needed for a particular feature as a single code base. It also provides a mechanism for designers to plan for such features even before the code is conceptualized. The system parses the code having a dynamic feature manager (DFM) tag to produce a base code wherein the DFM tag encloses a feature. The multiple code sets based on the DFM tags are created. A feature change table storing the information about a changed feature compared to the feature from the code sets is generated and stored in the system. The code sets are then compiled to generate binaries. The difference between each of the binaries, using the feature change tables is determined and stored which is used for creating differential binary file(s).
摘要:
Compiler based obfuscation is described. To protect portions of a code project with obfuscations, the code is modified within a compiler to produce one or more modifications that obfuscate the code as part of a compilation process. A compiled version of the code is generated having the modifications that are produced within the compiler. In one approach, the compiler is configured to consume an obfuscation description that indicates portions of the code to protect and specifies the modifications to make to the indicated portions. Various different modifications of code may be performed during the compilation process to implement corresponding obfuscation features. For example, the modifications made within a compiler may include, but are not limited to, modifications designed to enable tamper detection, anti-debugging, and/or encryption of the code.
摘要:
A method for scheduling tasks to processor cores of a parallel computing system comprising the steps of processing a source code which comprises at least one parallel lambda function having a function body called by a task and having a capture list specifying the data structures accessed in the function body of said parallel lambda function and used to derive data location information; executing the task calling said function body on the processor core which is associated to a memory unit of the parallel computing system where the data of the data structures specified by said capture list is stored, wherein the memory unit is selected or localized on the basis of the derived data location information.