OLD | NEW |
| (Empty) |
1 // Copyright 2016 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_INTERPRETER_BYTECODE_FLAGS_H_ | |
6 #define V8_INTERPRETER_BYTECODE_FLAGS_H_ | |
7 | |
8 #include "src/utils.h" | |
9 | |
10 namespace v8 { | |
11 namespace internal { | |
12 namespace interpreter { | |
13 | |
14 class CreateObjectLiteralFlags { | |
15 public: | |
16 class FlagsBits : public BitField8<int, 0, 3> {}; | |
17 class FastClonePropertiesCountBits | |
18 : public BitField8<int, FlagsBits::kNext, 3> {}; | |
19 | |
20 static uint8_t Encode(bool fast_clone_supported, int properties_count, | |
21 int runtime_flags); | |
22 | |
23 private: | |
24 DISALLOW_IMPLICIT_CONSTRUCTORS(CreateObjectLiteralFlags); | |
25 }; | |
26 | |
27 class CreateClosureFlags { | |
28 public: | |
29 class PretenuredBit : public BitField8<bool, 0, 1> {}; | |
30 class FastNewClosureBit : public BitField8<bool, PretenuredBit::kNext, 1> {}; | |
31 | |
32 static uint8_t Encode(bool pretenure, bool is_function_scope); | |
33 | |
34 private: | |
35 DISALLOW_IMPLICIT_CONSTRUCTORS(CreateClosureFlags); | |
36 }; | |
37 | |
38 } // namespace interpreter | |
39 } // namespace internal | |
40 } // namespace v8 | |
41 | |
42 #endif // V8_INTERPRETER_BYTECODE_FLAGS_H_ | |
OLD | NEW |