Patent classifications
G06F9/45
Maintaining cache consistency in a cache for cache eviction policies supporting dependencies
For maintaining consistency for a cache that contains dependent objects in a computing environment, object dependencies for cached objects are managed by defining and maintaining object dependency lists for each one of the cached objects for identifying objects upon which the cached objects are dependent. Maintaining cache consistency for 2 types of cache eviction policies is supported by maintaining an object dependency lists for each one of the cached objects for identifying objects dependent upon the cached object. Each of the objects in an object dependency list is updated when the object is updated.
Supporting dynamic behavior in statically compiled programs
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.
Software defined SaaS platform
A system that transforms non-SaaS (non Software as a Service) applications into tenant-aware SaaS (Software as a Service) applications is disclosed, which analyzes the non SaaS applications to determine which intercepts to external libraries need to be translated into SaaS intercepts that utilize SaaS tenancy services, SaaS operations services, and/or SaaS business services. The system transforms the non-SaaS applications into SaaS applications by providing intercept handlers that call SaaS services on demand when the transformed SaaS application throws a transformed SaaS interrupt.
Eager and optimistic evaluation of promises
The invention relates to a method for generating executable code from application source code. The method steps include determining a programmatic expression using the application source code and determining a first value for the programmatic expression. The method steps further include compiling the programmatic expression into a first optimized code portion using the first value, an assumption, and an expression scope. The method steps further include executing the application source code. The method steps further include determining that the programmatic expression is modified outside of the expression scope, invalidating the assumption, and de-optimizing the first optimized code portion.
Data processing method, computer readable medium and data processing device
A data processing method, a computer readable medium, and a data processing device capable of improving processing efficiency are provided. A storage destination of sub-read blocks is changed to a high-speed small-capacity memory on a high layer by adding a shape attribute in an attribute group for data blocks, adding a memory access monitoring unit for obtaining the shape attribute of a data block to the configuration of a data processing device, obtaining the shape attribute of the non-rectangular read block by executing a program on a trial basis, and propagating this shape attribute in a direction opposite to a data flow or a process flow within the program.
Co-existential wrapping system for mobile applications
A computer program product according to some embodiments causes a processor to perform operations including disassembling executable code of an application program to provide disassembled code, identifying first wrapping code in the disassembled code, receiving second wrapping code, generating a consolidated application wrapper that manages operation of both the first wrapping code and the second wrapping code, inserting the second wrapping code and the consolidated application wrapper into the disassembled code to form modified disassembled code, and assembling the modified disassembled code to form modified executable code.
Method and system for secure automated deployment of emulated computer system
A method and system for secure automated deployment of an emulated computer system. The method includes providing a download package for installation on a target machine. The download package includes a generic emulated computer system having no unique identity, no model identity, no features, and minimal processing components. The download package also includes a customer order file based on an order from a customer of the target machine. The customer order file includes a machine identity, at least one machine capability, and control data. The download package also includes at least one enabling key configured to enable the emulated computer system on the target machine. The enabling key is customized based on the order from the customer of the target machine, and includes identity information that restricts the use of the emulated computer system on any computer system other than the target machine. The method also includes delivering the download package to the target machine for installation of the emulated computer system on the target machine. The download package prevents the unauthorized cloning of the emulated computer system onto any hardware platforms other than the target machine, and prevents the unauthorized use of any hardware other than the hardware of the target machine.
Reconfiguration of address space based on loading short pointer mode application
A short pointer mode application has been loaded. Based on determining that the short pointer mode application has been loaded, an address space configured for a long pointer mode environment is reconfigured. The address space has one portion addressable by short pointers of a defined size and another portion addressable by long pointers of another defined size, and the reconfiguring includes obtaining a long pointer library, and loading the long pointer library in the one portion of the address space addressable by short pointers.
System and method for implementing a debugger as a server
Systems and methods are provided for debugging applications. A non-transitory machine-readable storage medium is configured to store code. A processor operative to execute the code is coupled to the non-transitory machine-readable storage medium. The code includes a debugger configured to: establish a first connection with a first virtual machine, where the first virtual machine is configured to initiate the first connection with the debugger; receive, from the first virtual machine, a first set of data via the first connection established between the debugger and the first virtual machine, where the first set of data includes data associated with a first application running on the first virtual machine, and where the first virtual machine is further configured to transmit the first set of data to the debugger when the first application breaks, and display, on a graphical user interface (GUI), at least a portion of the first set of data.
Systems and methods for task parallelization
Various embodiments of the present disclosure can include systems, methods, and non-transitory computer readable media configured to obtain at least one script and at least one document, wherein the script includes one or more instructions to be translated for execution in a parallelized computing environment, and wherein the document includes data that is referenced by the script. A syntax tree for the script can be determined. At least one approach for optimizing the syntax tree can be applied. Parallelized code for execution in the parallelized computing environment can be generated. A binary representation of the document can be determined. The parallelized code can be processed based at least in part on the binary representation of the document.