Patent classifications
G06F9/449
Sparse object instantiation
A code reuse user interface executed by a processor allows a code developer to specify unused data variables of a coded object definition to be reused, from pre-existing code within a new application, as a partial object without instantiation of the unused data variables. An indication from the code developer that at least one data variable of the reused coded object definition is specified as unused in the new application is detected within the code reuse user interface. The specified at least one unused data variable of the reused coded object definition is externalized from the code reuse user interface to a runtime environment, where as part of execution of the new application in the runtime environment, the runtime environment instantiates the reused coded object definition as the partial object without instantiation of the specified at least one unused data variable.
Mock server for testing
Systems of the present disclosure provide a versatile, reusable mock server to respond to Application-Programming-Interface (API) requests. The mock server receives an API request and a cookie associated with the API request. The API server identifies response instructions found in the cookie. The response instructions may include a static response value, a name of an API server for the mock server to imitate, or code for the mock server to execute in the process of generating a mock API response. The mock server generates a mock API response based on the response instructions and sends the mock API response in reply to the API request.
Optimizing execution of foreign method handles on a virtual machine
Techniques for reducing overhead in native function calls are disclosed. The system may receive a method invocation instruction for invoking a particular method. The method invocation instruction includes a function descriptor, a method type, and an application binary interface (ABI) descriptor. The function descriptor includes a memory layout corresponding to any data returned by the function and memory layouts corresponding to each argument for the particular method. The system can select an ABI for processing the particular method based on the received ABI descriptor. The system can further associate each argument with a corresponding particular physical register into which the argument is to be loaded. The particular register is selected based on at least the selected ABI and the function descriptor. The system can cause a virtual machine to move each argument into the corresponding associated physical register.
Online method handle deduplication
Approaches presented herein enable providing online method handle deduplication by determining whether a method handle to be created is equivalent to an existing method handle in an equivalence pool. Specifically, in response to a request to create a method handle, a set of parameters including a method handle map, a class, and one or more arguments of the method handle to be created are accepted. A method handle of the class is obtained. One or more existing unique method handles found in an equivalence pool are compared to the method handle to be created to determine whether an equivalence exists. When an equivalence is found between an existing unique method handle and the method handle to be created, the existing unique method handle is returned.
Overriding a migrated method in an updated type
Overriding a migrated method in an updated type is described. Instructions to invoke a particular method, in a sub-type, that overrides a migrated method, in a super-type, are identified. The instructions may invoke the particular method using a set of arguments associated with a particular set of types. The particular set of types is different from the set of parameter types associated with the particular method as defined in the sub-type. Additionally or alternatively, the instructions may include returning a value of a particular type from the particular method. The particular type is different from the return type associated with the particular method as defined in the sub-type. A new method is generated. The new method includes instructions for (a) converting the set of arguments and/or (b) converting the value returned from the particular method. The new method is stored in a runtime environment and executed.
Property filtering
A framework is defined for property-based filtering for objects. The framework is independent of specific programming languages. Selection criteria is entered to match on the selected criteria and allow for searching for objects. Properties for objects are exposed as property sets and language specific projections of properties. The framework codifies strongly typed properties and property sets, projecting property sets generically on language specific objects, and a generic Boolean filtering system on objects or property sets. The framework defines property keys with type, property values, property expressions, and property filters which are a collection of property expressions which can be applied against property sets, property handlers, and language-specific projections of generic objects. The framework also includes a generic object programming model where objects expose a common interface whereby generic property filters can be evaluated against any object.
MEDIA APPLICATION BACKGROUNDING
A media application is disclosed. The media application provides a playback of a media item that includes a video portion and an audio portion. The media application stops the playback of the video portion of the media item while continuing to provide the audio portion of the media item. The media application resumes the playback of the video portion of the media item in synchronization with the audio portion being provided.
Container-based language runtime using a variable-sized container for an isolated method
Embodiments include a code loader method for loading attributes corresponding to an isolated method by a container-based language runtime. The attributes are received by the container-based language runtime without any specified container for storage of the isolated method attributes. The attributes received as parameters of code loader method and include instructions, live objects, and parameter types corresponding to the isolated method. The container-based language runtime selects a first-order container for storing the attributes of the isolated method.
Game Rendering Method, Terminal Device, and Non-Transitory Computer-Readable Storage Medium
The present disclosure discloses a game rendering method and a terminal device. The terminal device includes a JS layer, a bridge layer, and a system framework layer. The method includes the follows. The JS layer transmits drawing instructions cached in an instruction set to the bridge layer, when a number of the drawing instructions cached in the instruction set is greater than or equal to a first threshold. The bridge layer obtains a rendering result by using an OpenGL capability to process the drawing instructions, and transmits the rendering result to the system framework layer. The system framework layer performs rendering based on the rendering result.
Mock server for testing
Systems of the present disclosure provide a versatile, reusable mock server to respond to Application-Programming-Interface (API) requests. The mock server receives an API request and a cookie associated with the API request. The API server identifies response instructions found in the cookie. The response instructions may include a static response value, a name of an API server for the mock server to imitate, or code for the mock server to execute in the process of generating a mock API response. The mock server generates a mock API response based on the response instructions and sends the mock API response in reply to the API request.