summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2015-04-17 19:12:31 +0100
committerCalin Juravle <calin@google.com>2015-04-20 14:02:51 +0100
commit27df758e2e7baebb6e3f393f9732fd0d064420c8 (patch)
tree261207281fd574deffb4dc1c1bc6bea8f150993e /compiler/optimizing/graph_visualizer.cc
parentf8bdd9f3a002970e4b8fdcf6fe6730116f1626c3 (diff)
downloadandroid_art-27df758e2e7baebb6e3f393f9732fd0d064420c8.tar.gz
android_art-27df758e2e7baebb6e3f393f9732fd0d064420c8.tar.bz2
android_art-27df758e2e7baebb6e3f393f9732fd0d064420c8.zip
[optimizing] Add memory barriers in constructors when needed
If a class has final fields we must add a memory barrier before returning from constructor. This makes sure the fields are visible to other threads. Bug: 19851497 Change-Id: If8c485092fc512efb9636cd568cb0543fb27688e
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r--compiler/optimizing/graph_visualizer.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index 4c283788b5..ca9cbc3d01 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -192,6 +192,10 @@ class HGraphVisualizerPrinter : public HGraphVisitor {
output_ << " " << phi->GetRegNumber();
}
+ void VisitMemoryBarrier(HMemoryBarrier* barrier) OVERRIDE {
+ output_ << " " << barrier->GetBarrierKind();
+ }
+
bool IsPass(const char* name) {
return strcmp(pass_name_, name) == 0;
}