-
公开(公告)号:US09817857B2
公开(公告)日:2017-11-14
申请号:US14603569
申请日:2015-01-23
发明人: Gaurav Seth , Jianchun Xu , Koundinya Veluri , Geoffrey M. Kizer
CPC分类号: G06F17/30342 , G06F9/4493 , G06F17/30
摘要: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
-
公开(公告)号:US10417011B2
公开(公告)日:2019-09-17
申请号:US15383961
申请日:2016-12-19
摘要: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
-
公开(公告)号:US09690604B2
公开(公告)日:2017-06-27
申请号:US15408011
申请日:2017-01-17
CPC分类号: G06F9/45516 , G06F8/40 , G06F8/41 , G06F8/45 , G06F8/458
摘要: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
-
公开(公告)号:US20160274869A1
公开(公告)日:2016-09-22
申请号:US15167623
申请日:2016-05-27
发明人: Kenneth D. Wolf , Edmund Samuel Victor Pinto , Robert Brian Schmidt , Donald F. Box , Geoffrey M. Kizer , Nathan C. Talbert , Kavita Kamani , Alberto Arias Maestro , David Robert Cliffe , Tirunelveli R. Vishwanath , HongMei Ge , Stephen Jared Maine , Alexander Martin DeJarnatt
IPC分类号: G06F9/44
摘要: Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity.
摘要翻译: 基于连续运行时的接口。 这里描述的一些实施例涉及使用与基础设施有关的基于连续的运行时界面的框架,该基础设施能够创建执行各种任务的各种基于连续的程序。 该基础设施为构建各种规模和复杂性的基于连续的声明性应用程序提供了基础。
-
公开(公告)号:US20150142854A1
公开(公告)日:2015-05-21
申请号:US14603569
申请日:2015-01-23
发明人: Gaurav Seth , Jianchun Xu , Koundinya Veluri , Geoffrey M. Kizer
IPC分类号: G06F17/30
CPC分类号: G06F17/30342 , G06F9/4493 , G06F17/30
摘要: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
摘要翻译: 本文描述了能够使用二进制格式深入克隆(例如深度复制)对象的技术。 指定对象的深层克隆包括对包含在指定对象中的其他对象(以及其他对象的潜在副本)的引用。 生成对象图中每个对象的二进制表示,以提供对象图的二进制克隆。 由动态语言引擎创建的对象称为动态语言对象。 由主机(例如,承载动态语言引擎)创建的对象称为主机对象。 通过描述该主机对象的属性的属性包,每个主机对象与其中间表示相关联。 动态语言引擎可以理解每个中间表示。 可以根据二进制格式生成每个动态语言对象和每个主机对象的二进制表示,以提供二进制克隆。
-
公开(公告)号:US20170123776A1
公开(公告)日:2017-05-04
申请号:US15408011
申请日:2017-01-17
CPC分类号: G06F9/45516 , G06F8/40 , G06F8/41 , G06F8/45 , G06F8/458
摘要: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
-
公开(公告)号:US09916136B2
公开(公告)日:2018-03-13
申请号:US15167623
申请日:2016-05-27
发明人: Kenneth D. Wolf , Edmund Samuel Victor Pinto , Robert Brian Schmidt , Donald F. Box , Geoffrey M. Kizer , Nathan C. Talbert , Kavita Kamani , Alberto Arias Maestro , David Robert Cliffe , Tirunelveli R. Vishwanath , HongMei Ge , Stephen Jared Maine , Alexander Martin DeJarnatt
IPC分类号: G06F9/44
摘要: Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity.
-
公开(公告)号:US20170168843A1
公开(公告)日:2017-06-15
申请号:US15383961
申请日:2016-12-19
摘要: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
-
-
-
-
-
-
-