Lines Matching refs:word_t
15 // FastAsciiConvert tries to do character processing on a word_t basis if
17 // string data depends on kTaggedSize so we define word_t via Tagged_t.
18 using word_t = std::make_unsigned<Tagged_t>::type;
20 const word_t kWordTAllBitsSet = std::numeric_limits<word_t>::max();
21 const word_t kOneInEveryByte = kWordTAllBitsSet / 0xFF;
22 const word_t kAsciiMask = kOneInEveryByte << 7;
50 static inline word_t AsciiRangeMask(word_t w, char m, char n) {
55 word_t tmp1 = kOneInEveryByte * (0x7F + n) - w;
57 word_t tmp2 = w + kOneInEveryByte * (0x7F - m);
79 DCHECK(IsAligned(reinterpret_cast<Address>(dst), sizeof(word_t)));
81 if (IsAligned(reinterpret_cast<Address>(src), sizeof(word_t))) {
84 while (src <= limit - sizeof(word_t)) {
85 const word_t w = *reinterpret_cast<const word_t*>(src);
91 *reinterpret_cast<word_t*>(dst) = w;
92 src += sizeof(word_t);
93 dst += sizeof(word_t);
97 while (src <= limit - sizeof(word_t)) {
98 const word_t w = *reinterpret_cast<const word_t*>(src);
100 word_t m = AsciiRangeMask(w, lo, hi);
104 *reinterpret_cast<word_t*>(dst) = w ^ (m >> 2);
105 src += sizeof(word_t);
106 dst += sizeof(word_t);