aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.cpp
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2011-08-02 00:01:13 -0700
committerCarl Shapiro <cshapiro@google.com>2011-08-15 21:01:19 -0700
commitf28000dc9b6f596921b1a4387746bea4c8cd207f (patch)
tree98b88552538c7d3a28d93fc53a85130842be888b /vm/compiler/codegen/arm/CodegenDriver.cpp
parentb25e56e5e578220734f6f75b810fe7a94c69793d (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