Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Side by Side Diff: src/arm64/instrument-arm64.cc

Issue 2760963002: [arm64] Use acquire/release memory accesses for atomics (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/arm64/instrument-arm64.h" 5 #include "src/arm64/instrument-arm64.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 Counter::Counter(const char* name, CounterType type) 10 Counter::Counter(const char* name, CounterType type)
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 CounterType Counter::type() { 54 CounterType Counter::type() {
55 return type_; 55 return type_;
56 } 56 }
57 57
58 58
59 typedef struct { 59 typedef struct {
60 const char* name; 60 const char* name;
61 CounterType type; 61 CounterType type;
62 } CounterDescriptor; 62 } CounterDescriptor;
63 63
64 static const CounterDescriptor kCounterList[] = {
65 {"Instruction", Cumulative},
64 66
65 static const CounterDescriptor kCounterList[] = { 67 {"Move Immediate", Gauge},
66 {"Instruction", Cumulative}, 68 {"Add/Sub DP", Gauge},
69 {"Logical DP", Gauge},
70 {"Other Int DP", Gauge},
71 {"FP DP", Gauge},
67 72
68 {"Move Immediate", Gauge}, 73 {"Conditional Select", Gauge},
69 {"Add/Sub DP", Gauge}, 74 {"Conditional Compare", Gauge},
70 {"Logical DP", Gauge},
71 {"Other Int DP", Gauge},
72 {"FP DP", Gauge},
73 75
74 {"Conditional Select", Gauge}, 76 {"Unconditional Branch", Gauge},
75 {"Conditional Compare", Gauge}, 77 {"Compare and Branch", Gauge},
78 {"Test and Branch", Gauge},
79 {"Conditional Branch", Gauge},
76 80
77 {"Unconditional Branch", Gauge}, 81 {"Load Integer", Gauge},
78 {"Compare and Branch", Gauge}, 82 {"Load FP", Gauge},
79 {"Test and Branch", Gauge}, 83 {"Load Pair", Gauge},
80 {"Conditional Branch", Gauge}, 84 {"Load Literal", Gauge},
85 {"Load Acquire", Gauge},
81 86
82 {"Load Integer", Gauge}, 87 {"Store Integer", Gauge},
83 {"Load FP", Gauge}, 88 {"Store FP", Gauge},
84 {"Load Pair", Gauge}, 89 {"Store Pair", Gauge},
85 {"Load Literal", Gauge}, 90 {"Store Release", Gauge},
86 91
87 {"Store Integer", Gauge}, 92 {"PC Addressing", Gauge},
88 {"Store FP", Gauge}, 93 {"Other", Gauge},
89 {"Store Pair", Gauge}, 94 {"SP Adjust", Gauge},
90
91 {"PC Addressing", Gauge},
92 {"Other", Gauge},
93 {"SP Adjust", Gauge},
94 }; 95 };
95 96
96
97 Instrument::Instrument(const char* datafile, uint64_t sample_period) 97 Instrument::Instrument(const char* datafile, uint64_t sample_period)
98 : output_stream_(stderr), sample_period_(sample_period) { 98 : output_stream_(stderr), sample_period_(sample_period) {
99 99
100 // Set up the output stream. If datafile is non-NULL, use that file. If it 100 // Set up the output stream. If datafile is non-NULL, use that file. If it
101 // can't be opened, or datafile is NULL, use stderr. 101 // can't be opened, or datafile is NULL, use stderr.
102 if (datafile != NULL) { 102 if (datafile != NULL) {
103 output_stream_ = fopen(datafile, "w"); 103 output_stream_ = fopen(datafile, "w");
104 if (output_stream_ == NULL) { 104 if (output_stream_ == NULL) {
105 fprintf(stderr, "Can't open output file %s. Using stderr.\n", datafile); 105 fprintf(stderr, "Can't open output file %s. Using stderr.\n", datafile);
106 output_stream_ = stderr; 106 output_stream_ = stderr;
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 605
606 void Instrument::VisitUnimplemented(Instruction* instr) { 606 void Instrument::VisitUnimplemented(Instruction* instr) {
607 Update(); 607 Update();
608 static Counter* counter = GetCounter("Other"); 608 static Counter* counter = GetCounter("Other");
609 counter->Increment(); 609 counter->Increment();
610 } 610 }
611 611
612 612
613 } // namespace internal 613 } // namespace internal
614 } // namespace v8 614 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698