diff options
| author | Carl Shapiro <cshapiro@google.com> | 2011-08-02 00:01:13 -0700 |
|---|---|---|
| committer | Carl Shapiro <cshapiro@google.com> | 2011-08-15 21:01:19 -0700 |
| commit | f28000dc9b6f596921b1a4387746bea4c8cd207f (patch) | |
| tree | 98b88552538c7d3a28d93fc53a85130842be888b /vm/compiler/codegen/arm/CodegenDriver.cpp | |
| parent | b25e56e5e578220734f6f75b810fe7a94c69793d (diff) | |
Fix two data races in the monitor code.
First, the release of a lock was not preceded by a memory barrier.
This would allow stores within the critical section to move outside
the critical section violating the monitor invariant.
Second, the thin lock value was often not loaded through volatile
pointer. This provides the compiler with the freedom to reload the
thin lock with a different value causing erroneous updates to the lock
word.
Bug: 5107390
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.cpp')
0 files changed, 0 insertions, 0 deletions
