-
For `Atomic`s and our Multithreaded Memory model, we incorporate the C++ rules by reference in Minirust's definition. We do not define `Ordering::Consume`, but I do not believe we exclude its existanc…
-
The atomic Load\* and Store\* operations cause their argument to unnecessarily escape. For example, in the following program, x is heap allocated:
``` go
package main
import "sync/atomic"
func main…
-
The `Recorder` struct from the `vmwithcontracts` example should be moved into the core of the hyper-sdk because it's likely useful for _all_ vms.
_Originally posted by @aaronbuchwald in https://git…
-
Currently the push and pop operations are thread safe, but the contents of the nodes themselves potentially aren't.
Look into whether atomic nodes are required, or if it's already safe.
-
![image](https://user-images.githubusercontent.com/12626454/55683567-d7508400-5973-11e9-91f6-41797c84a652.png)
![image](https://user-images.githubusercontent.com/12626454/55683570-da4b7480-5973-11e9-…
-
```
Not sure how important it is, but for what it's worth:
Racy use-after-free in the following code is never detected, as the second
access to *p is not instrumented.
void foo(long *p, long *q)
{
…
-
```
Not sure how important it is, but for what it's worth:
Racy use-after-free in the following code is never detected, as the second
access to *p is not instrumented.
void foo(long *p, long *q)
{
…
-
make atomic transaction for operations that need to be together.
for example, if we purchase and the server crashes in the meantime, we want the receipt to be saved in system before the crash..
-
The program is:
```
#include
#include
struct node { std::atomic value; };
std::atomic _node{nullptr};
void f1() {
auto n = new node();
n->value.store(1, std::memory_order_release);
…
-