V8 Project
v8::internal::FrequencyCollator Class Reference
+ Collaboration diagram for v8::internal::FrequencyCollator:

Classes

class  CharacterFrequency
 

Public Member Functions

 FrequencyCollator ()
 
void CountCharacter (int character)
 
int Frequency (int in_character)
 

Private Attributes

CharacterFrequency frequencies_ [RegExpMacroAssembler::kTableSize]
 
int total_samples_
 

Detailed Description

Definition at line 946 of file jsregexp.cc.

Constructor & Destructor Documentation

◆ FrequencyCollator()

v8::internal::FrequencyCollator::FrequencyCollator ( )
inline

Definition at line 948 of file jsregexp.cc.

948  : total_samples_(0) {
949  for (int i = 0; i < RegExpMacroAssembler::kTableSize; i++) {
950  frequencies_[i] = CharacterFrequency(i);
951  }
952  }
CharacterFrequency frequencies_[RegExpMacroAssembler::kTableSize]
Definition: jsregexp.cc:988

References v8::internal::RegExpMacroAssembler::kTableSize.

Member Function Documentation

◆ CountCharacter()

void v8::internal::FrequencyCollator::CountCharacter ( int  character)
inline

Definition at line 954 of file jsregexp.cc.

954  {
955  int index = (character & RegExpMacroAssembler::kTableMask);
956  frequencies_[index].Increment();
957  total_samples_++;
958  }

References v8::internal::RegExpMacroAssembler::kTableMask.

Referenced by v8::internal::RegExpEngine::Compile().

+ Here is the caller graph for this function:

◆ Frequency()

int v8::internal::FrequencyCollator::Frequency ( int  in_character)
inline

Definition at line 962 of file jsregexp.cc.

962  {
963  DCHECK((in_character & RegExpMacroAssembler::kTableMask) == in_character);
964  if (total_samples_ < 1) return 1; // Division by zero.
965  int freq_in_per128 =
966  (frequencies_[in_character].counter() * 128) / total_samples_;
967  return freq_in_per128;
968  }
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, and v8::internal::RegExpMacroAssembler::kTableMask.

Referenced by v8::internal::BoyerMooreLookahead::FindBestInterval().

+ Here is the caller graph for this function:

Member Data Documentation

◆ frequencies_

CharacterFrequency v8::internal::FrequencyCollator::frequencies_[RegExpMacroAssembler::kTableSize]
private

Definition at line 988 of file jsregexp.cc.

◆ total_samples_

int v8::internal::FrequencyCollator::total_samples_
private

Definition at line 989 of file jsregexp.cc.


The documentation for this class was generated from the following file: