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_COMPILER_JS_CREATE_LOWERING_H_ | 5 #ifndef V8_COMPILER_JS_CREATE_LOWERING_H_ |
6 #define V8_COMPILER_JS_CREATE_LOWERING_H_ | 6 #define V8_COMPILER_JS_CREATE_LOWERING_H_ |
7 | 7 |
| 8 #include "src/base/compiler-specific.h" |
8 #include "src/compiler/graph-reducer.h" | 9 #include "src/compiler/graph-reducer.h" |
| 10 #include "src/globals.h" |
9 | 11 |
10 namespace v8 { | 12 namespace v8 { |
11 namespace internal { | 13 namespace internal { |
12 | 14 |
13 // Forward declarations. | 15 // Forward declarations. |
14 class AllocationSiteUsageContext; | 16 class AllocationSiteUsageContext; |
15 class CompilationDependencies; | 17 class CompilationDependencies; |
16 class Factory; | 18 class Factory; |
17 | 19 |
18 | 20 |
19 namespace compiler { | 21 namespace compiler { |
20 | 22 |
21 // Forward declarations. | 23 // Forward declarations. |
22 class CommonOperatorBuilder; | 24 class CommonOperatorBuilder; |
23 class JSGraph; | 25 class JSGraph; |
24 class JSOperatorBuilder; | 26 class JSOperatorBuilder; |
25 class MachineOperatorBuilder; | 27 class MachineOperatorBuilder; |
26 class SimplifiedOperatorBuilder; | 28 class SimplifiedOperatorBuilder; |
27 | 29 |
28 | 30 |
29 // Lowers JSCreate-level operators to fast (inline) allocations. | 31 // Lowers JSCreate-level operators to fast (inline) allocations. |
30 class JSCreateLowering final : public AdvancedReducer { | 32 class V8_EXPORT_PRIVATE JSCreateLowering final |
| 33 : public NON_EXPORTED_BASE(AdvancedReducer) { |
31 public: | 34 public: |
32 JSCreateLowering(Editor* editor, CompilationDependencies* dependencies, | 35 JSCreateLowering(Editor* editor, CompilationDependencies* dependencies, |
33 JSGraph* jsgraph, MaybeHandle<LiteralsArray> literals_array, | 36 JSGraph* jsgraph, MaybeHandle<LiteralsArray> literals_array, |
34 Handle<Context> native_context, Zone* zone) | 37 Handle<Context> native_context, Zone* zone) |
35 : AdvancedReducer(editor), | 38 : AdvancedReducer(editor), |
36 dependencies_(dependencies), | 39 dependencies_(dependencies), |
37 jsgraph_(jsgraph), | 40 jsgraph_(jsgraph), |
38 literals_array_(literals_array), | 41 literals_array_(literals_array), |
39 native_context_(native_context), | 42 native_context_(native_context), |
40 zone_(zone) {} | 43 zone_(zone) {} |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 MaybeHandle<LiteralsArray> const literals_array_; | 98 MaybeHandle<LiteralsArray> const literals_array_; |
96 Handle<Context> const native_context_; | 99 Handle<Context> const native_context_; |
97 Zone* const zone_; | 100 Zone* const zone_; |
98 }; | 101 }; |
99 | 102 |
100 } // namespace compiler | 103 } // namespace compiler |
101 } // namespace internal | 104 } // namespace internal |
102 } // namespace v8 | 105 } // namespace v8 |
103 | 106 |
104 #endif // V8_COMPILER_JS_CREATE_LOWERING_H_ | 107 #endif // V8_COMPILER_JS_CREATE_LOWERING_H_ |
OLD | NEW |