OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILATION_INFO_H_ | 5 #ifndef V8_COMPILATION_INFO_H_ |
6 #define V8_COMPILATION_INFO_H_ | 6 #define V8_COMPILATION_INFO_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "src/compilation-dependencies.h" | 10 #include "src/compilation-dependencies.h" |
11 #include "src/frames.h" | 11 #include "src/frames.h" |
| 12 #include "src/globals.h" |
12 #include "src/handles.h" | 13 #include "src/handles.h" |
13 #include "src/objects.h" | 14 #include "src/objects.h" |
14 #include "src/source-position-table.h" | 15 #include "src/source-position-table.h" |
15 #include "src/utils.h" | 16 #include "src/utils.h" |
16 #include "src/vector.h" | 17 #include "src/vector.h" |
17 | 18 |
18 namespace v8 { | 19 namespace v8 { |
19 namespace internal { | 20 namespace internal { |
20 | 21 |
21 class DeclarationScope; | 22 class DeclarationScope; |
22 class DeferredHandles; | 23 class DeferredHandles; |
23 class FunctionLiteral; | 24 class FunctionLiteral; |
24 class JavaScriptFrame; | 25 class JavaScriptFrame; |
25 class ParseInfo; | 26 class ParseInfo; |
26 class Isolate; | 27 class Isolate; |
27 class Zone; | 28 class Zone; |
28 | 29 |
29 // CompilationInfo encapsulates some information known at compile time. It | 30 // CompilationInfo encapsulates some information known at compile time. It |
30 // is constructed based on the resources available at compile-time. | 31 // is constructed based on the resources available at compile-time. |
31 class CompilationInfo final { | 32 class V8_EXPORT_PRIVATE CompilationInfo final { |
32 public: | 33 public: |
33 // Various configuration flags for a compilation, as well as some properties | 34 // Various configuration flags for a compilation, as well as some properties |
34 // of the compiled code produced by a compilation. | 35 // of the compiled code produced by a compilation. |
35 enum Flag { | 36 enum Flag { |
36 kDeferredCalling = 1 << 0, | 37 kDeferredCalling = 1 << 0, |
37 kNonDeferredCalling = 1 << 1, | 38 kNonDeferredCalling = 1 << 1, |
38 kSavesCallerDoubles = 1 << 2, | 39 kSavesCallerDoubles = 1 << 2, |
39 kRequiresFrame = 1 << 3, | 40 kRequiresFrame = 1 << 3, |
40 kDeoptimizationSupport = 1 << 4, | 41 kDeoptimizationSupport = 1 << 4, |
41 kAccessorInliningEnabled = 1 << 5, | 42 kAccessorInliningEnabled = 1 << 5, |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 | 386 |
386 Vector<const char> debug_name_; | 387 Vector<const char> debug_name_; |
387 | 388 |
388 DISALLOW_COPY_AND_ASSIGN(CompilationInfo); | 389 DISALLOW_COPY_AND_ASSIGN(CompilationInfo); |
389 }; | 390 }; |
390 | 391 |
391 } // namespace internal | 392 } // namespace internal |
392 } // namespace v8 | 393 } // namespace v8 |
393 | 394 |
394 #endif // V8_COMPILATION_INFO_H_ | 395 #endif // V8_COMPILATION_INFO_H_ |
OLD | NEW |