Line data Source code
1 : // Copyright 2015 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #ifndef V8_UNICODE_CACHE_H_
6 : #define V8_UNICODE_CACHE_H_
7 :
8 : #include "src/base/macros.h"
9 : #include "src/unicode-decoder.h"
10 : #include "src/unicode.h"
11 : #include "src/utils.h"
12 :
13 : namespace v8 {
14 : namespace internal {
15 :
16 : // Caching predicates used by scanners.
17 : class UnicodeCache {
18 : public:
19 : UnicodeCache() = default;
20 : typedef unibrow::Utf8Decoder<512> Utf8Decoder;
21 :
22 10 : StaticResource<Utf8Decoder>* utf8_decoder() { return &utf8_decoder_; }
23 :
24 : private:
25 : StaticResource<Utf8Decoder> utf8_decoder_;
26 :
27 : DISALLOW_COPY_AND_ASSIGN(UnicodeCache);
28 : };
29 :
30 : } // namespace internal
31 : } // namespace v8
32 :
33 : #endif // V8_UNICODE_CACHE_H_
|