Efficient and thread-safe objects for dynamically-typed languages

    公开(公告)号:US10248349B2

    公开(公告)日:2019-04-02

    申请号:US15279564

    申请日:2016-09-29

    Abstract: A method may include creating objects by executing a program in a first thread. Creating the objects may include allocating, for each object, storage based on a shape assigned to the object. The storage may include separate, non-reusable storage locations. Each storage location may correspond to a field of the object. The shape may include a sharing status and a mapping of each field of the object to a storage location. The method may further include detecting that the program is initiating a second concurrent thread of execution, and designating a subset of objects as shared objects. Designating the subset of objects as shared objects may include setting the sharing status of the shape assigned to each shared object to indicate that the object is shared. The method may further include initiating tracking of shared objects and implementing a write barrier when writing to shared objects.

    METHOD AND SYSTEM FOR RESTRUCTURING OF COLLECTIONS FOR SYNCHRONIZATION

    公开(公告)号:US20180300132A1

    公开(公告)日:2018-10-18

    申请号:US15952213

    申请日:2018-04-12

    Inventor: Benoit Daloze

    Abstract: A method includes implementing a collection for a single thread and a sequential data structure. The single thread includes functionality to execute on a parallel processor. The method further includes detecting whether the collection is shared by multiple threads by tracking reachability of the collection, and modifying the data representation and the implementation of the shared collection for synchronization of the multiple threads. The method may also include testing whether the multiple threads are synchronized on the shared collection.

    Method and system for restructuring of collections for synchronization

    公开(公告)号:US11023234B2

    公开(公告)日:2021-06-01

    申请号:US15952213

    申请日:2018-04-12

    Inventor: Benoit Daloze

    Abstract: A method includes implementing a collection for a single thread and a sequential data structure. The single thread includes functionality to execute on a parallel processor. The method further includes detecting whether the collection is shared by multiple threads by tracking reachability of the collection, and modifying the data representation and the implementation of the shared collection for synchronization of the multiple threads. The method may also include testing whether the multiple threads are synchronized on the shared collection.

    EFFICIENT AND THREAD-SAFE OBJECTS FOR DYNAMICALLY-TYPED LANGUAGES

    公开(公告)号:US20170277467A1

    公开(公告)日:2017-09-28

    申请号:US15279564

    申请日:2016-09-29

    Abstract: A method may include creating objects by executing a program in a first thread. Creating the objects may include allocating, for each object, storage based on a shape assigned to the object. The storage may include separate, non-reusable storage locations. Each storage location may correspond to a field of the object. The shape may include a sharing status and a mapping of each field of the object to a storage location. The method may further include detecting that the program is initiating a second concurrent thread of execution, and designating a subset of objects as shared objects. Designating the subset of objects as shared objects may include setting the sharing status of the shape assigned to each shared object to indicate that the object is shared. The method may further include initiating tracking of shared objects and implementing a write barrier when writing to shared objects.

Patent Agency Ranking