���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /home/real/node-v13.0.1/deps/v8/src/codegen/arm64/ |
// Copyright 2013 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_CODEGEN_ARM64_INSTRUMENT_ARM64_H_ #define V8_CODEGEN_ARM64_INSTRUMENT_ARM64_H_ #include "src/common/globals.h" #include "src/utils/utils.h" #include "src/codegen/arm64/constants-arm64.h" #include "src/codegen/arm64/decoder-arm64.h" namespace v8 { namespace internal { const int kCounterNameMaxLength = 256; const uint64_t kDefaultInstrumentationSamplingPeriod = 1 << 22; enum InstrumentState { InstrumentStateDisable = 0, InstrumentStateEnable = 1 }; enum CounterType { Gauge = 0, // Gauge counters reset themselves after reading. Cumulative = 1 // Cumulative counters keep their value after reading. }; class Counter { public: explicit Counter(const char* name, CounterType type = Gauge); void Increment(); void Enable(); void Disable(); bool IsEnabled(); uint64_t count(); const char* name(); CounterType type(); private: char name_[kCounterNameMaxLength]; uint64_t count_; bool enabled_; CounterType type_; }; class Instrument : public DecoderVisitor { public: explicit Instrument( const char* datafile = nullptr, uint64_t sample_period = kDefaultInstrumentationSamplingPeriod); ~Instrument(); // Declare all Visitor functions. #define DECLARE(A) void Visit##A(Instruction* instr); VISITOR_LIST(DECLARE) #undef DECLARE private: void Update(); void Enable(); void Disable(); void DumpCounters(); void DumpCounterNames(); void DumpEventMarker(unsigned marker); void HandleInstrumentationEvent(unsigned event); Counter* GetCounter(const char* name); void InstrumentLoadStore(Instruction* instr); void InstrumentLoadStorePair(Instruction* instr); std::list<Counter*> counters_; FILE* output_stream_; uint64_t sample_period_; }; } // namespace internal } // namespace v8 #endif // V8_CODEGEN_ARM64_INSTRUMENT_ARM64_H_