Siva Annamalai
7e05c6c1f0
Use atomic operations to increment/decrement memory usage counts as multiple threads could be allocating at the same time.
...
Review URL: https://codereview.chromium.org/1580813003 .
2016-01-29 12:46:22 -08:00
Siva Annamalai
a7ebeb00fb
Add a CompareAndSwapUint32 variant to AtomicOperations so that it is possible to a CAS of a 32 bit value.
...
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1562253002 .
2016-01-06 17:08:31 -08:00
Daniel Andersson
e7fb1c8516
Compatible atomics: volatile for LoadRelaxed, replace FetchAndAdd with FetchAndDecrement.
...
Using volatile on a word size location will generate a single move instruction without order guarantees and is supported on all compilers.
Replace FetchAndAdd with FetchAndDecrement, since the latter is sufficient and eaiser to implement portably (in particular on some Windows setups).
BUG=https://github.com/dart-lang/sdk/issues/24049
R=iposva@google.com
Review URL: https://codereview.chromium.org//1287853005 .
2015-08-13 09:21:38 -07:00
Daniel Andersson
071ea16620
Use memcpy for Atomic::LoadRelaxed.
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1285923003 .
2015-08-11 13:52:07 -07:00
Daniel Andersson
086329fd9c
Safe and efficient stack-limit based interrupt checking in C++.
...
Remove potentially dangerous (but currently unused) Isolate::stack_limit() accessor.
Add method to test whether interrupts are scheduled, using relaxed memory ordering.
Document and test correct usage by adding a new unit test.
This will be used to periodically check for safepoints in C++ (which will then be equivalent to our generated code).
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1277473004 .
2015-08-11 12:37:57 -07:00
iposva@google.com
55357d2993
- Use the simulator to do atomic operations that could also
...
be executed in generated code.
R=koda@google.com , zra@google.com
Review URL: https://codereview.chromium.org//677193002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41332 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 19:21:33 +00:00
iposva@google.com
50652300dc
- Add AtomicOperations::CompareAndSwapWord
...
- Make AtomicOperations inlineable.
- Use atomic tag word updates from C++ where necessary.
Review URL: https://codereview.chromium.org//529823002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39731 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-01 18:18:44 +00:00