-
公开(公告)号:US09880931B2
公开(公告)日:2018-01-30
申请号:US14931968
申请日:2015-11-04
Applicant: Oracle International Corporation
Inventor: Chris Seaton , Benoit Daloze
CPC classification number: G06F12/0253 , G06F9/455 , G06F9/45504 , G06F9/4552 , G06F9/45533 , G06F9/46 , G06F9/461 , G06F9/50 , G06F9/5005 , G06F9/5022 , G06F9/522 , G06F12/00 , G06F12/02 , G06F12/0223 , G06F12/0261 , G06F12/0269 , G06F12/0276
Abstract: An application programming interface (API) may include an initiator configured to initiate a guest safepoint via an action represented in a guest language executed on a virtual machine, provide a safepoint action to a group of guest threads, synchronize the guest threads such that each guest thread in the group executes the safepoint action once all guest threads in the group enter the guest safepoint, and synchronize the guest threads such that each guest thread in the group exits the guest safepoint once all guest threads in the group complete execution of the safepoint action. The API may also include a guest configured to determine whether a guest safepoint is initiated, enter the guest safepoint, execute the safepoint action while execution of a guest action is paused, and exit the guest safepoint and resume execution of the guest action once the safepoint action completes execution.
-
公开(公告)号:US20170109182A1
公开(公告)日:2017-04-20
申请号:US14931968
申请日:2015-11-04
Applicant: Oracle International Corporation
Inventor: Chris Seaton , Benoit Daloze
CPC classification number: G06F12/0253 , G06F9/455 , G06F9/45504 , G06F9/4552 , G06F9/45533 , G06F9/46 , G06F9/461 , G06F9/50 , G06F9/5005 , G06F9/5022 , G06F9/522 , G06F12/00 , G06F12/02 , G06F12/0223 , G06F12/0261 , G06F12/0269 , G06F12/0276
Abstract: An application programming interface (API) may include an initiator configured to initiate a guest safepoint via an action represented in a guest language executed on a virtual machine, provide a safepoint action to a group of guest threads, synchronize the guest threads such that each guest thread in the group executes the safepoint action once all guest threads in the group enter the guest safepoint, and synchronize the guest threads such that each guest thread in the group exits the guest safepoint once all guest threads in the group complete execution of the safepoint action. The API may also include a guest configured to determine whether a guest safepoint is initiated, enter the guest safepoint, execute the safepoint action while execution of a guest action is paused, and exit the guest safepoint and resume execution of the guest action once the safepoint action completes execution.
-
公开(公告)号:US10248349B2
公开(公告)日:2019-04-02
申请号:US15279564
申请日:2016-09-29
Applicant: Oracle International Corporation
Inventor: Benoit Daloze , Stefan Marr , Daniele Bonetta
IPC: G06F3/06 , G06F12/0891
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.
-
公开(公告)号:US20180300132A1
公开(公告)日:2018-10-18
申请号:US15952213
申请日:2018-04-12
Applicant: Oracle International Corporation
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.
-
公开(公告)号:US11023234B2
公开(公告)日:2021-06-01
申请号:US15952213
申请日:2018-04-12
Applicant: Oracle International Corporation
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.
-
公开(公告)号:US20170277467A1
公开(公告)日:2017-09-28
申请号:US15279564
申请日:2016-09-29
Applicant: Oracle International Corporation
Inventor: Benoit Daloze , Stefan Marr , Daniele Bonetta
IPC: G06F3/06 , G06F12/0891
CPC classification number: G06F3/0631 , G06F3/0604 , G06F3/0683 , G06F9/5016 , G06F9/52 , G06F9/522 , G06F9/528 , G06F12/0891 , G06F2212/604
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.
-
-
-
-
-