OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 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 | 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_ESCAPE_ANALYSIS_REDUCER_H_ | 5 #ifndef V8_COMPILER_ESCAPE_ANALYSIS_REDUCER_H_ |
6 #define V8_COMPILER_ESCAPE_ANALYSIS_REDUCER_H_ | 6 #define V8_COMPILER_ESCAPE_ANALYSIS_REDUCER_H_ |
7 | 7 |
8 #include "src/compiler/escape-analysis.h" | 8 #include "src/compiler/escape-analysis.h" |
9 #include "src/compiler/graph-reducer.h" | 9 #include "src/compiler/graph-reducer.h" |
10 #include "src/compiler/js-graph.h" | 10 #include "src/compiler/js-graph.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 EscapeObjectAnalysis* escape_analysis, Zone* zone); | 25 EscapeObjectAnalysis* escape_analysis, Zone* zone); |
26 | 26 |
27 Reduction Reduce(Node* node) final; | 27 Reduction Reduce(Node* node) final; |
28 | 28 |
29 private: | 29 private: |
30 Reduction ReduceLoadField(Node* node); | 30 Reduction ReduceLoadField(Node* node); |
31 Reduction ReduceStoreField(Node* node); | 31 Reduction ReduceStoreField(Node* node); |
32 Reduction ReduceAllocate(Node* node); | 32 Reduction ReduceAllocate(Node* node); |
33 Reduction ReduceFinishRegion(Node* node); | 33 Reduction ReduceFinishRegion(Node* node); |
34 Reduction ReduceReferenceEqual(Node* node); | 34 Reduction ReduceReferenceEqual(Node* node); |
| 35 Reduction ReduceStateValueInputs(Node* node); |
35 | 36 |
36 Reduction ReplaceWithDeoptDummy(Node* node); | 37 Node* GetEffectFromFrameState(Node* node); |
| 38 |
| 39 void CreateObjectState(Node* effect, Node* node); |
| 40 |
| 41 void RemoveFromEffectChain(Node* node); |
37 | 42 |
38 JSGraph* jsgraph() const { return jsgraph_; } | 43 JSGraph* jsgraph() const { return jsgraph_; } |
39 EscapeObjectAnalysis* escape_analysis() const { return escape_analysis_; } | 44 EscapeObjectAnalysis* escape_analysis() const { return escape_analysis_; } |
40 EscapeStatusAnalysis* escape_status() const { return escape_status_; } | 45 EscapeStatusAnalysis* escape_status() const { return escape_status_; } |
41 Zone* zone() const { return zone_; } | 46 Zone* zone() const { return zone_; } |
42 | 47 |
43 JSGraph* const jsgraph_; | 48 JSGraph* const jsgraph_; |
44 EscapeStatusAnalysis* escape_status_; | 49 EscapeStatusAnalysis* escape_status_; |
45 EscapeObjectAnalysis* escape_analysis_; | 50 EscapeObjectAnalysis* escape_analysis_; |
46 Zone* const zone_; | 51 Zone* const zone_; |
47 | 52 |
48 DISALLOW_COPY_AND_ASSIGN(EscapeAnalysisReducer); | 53 DISALLOW_COPY_AND_ASSIGN(EscapeAnalysisReducer); |
49 }; | 54 }; |
50 | 55 |
51 } // namespace compiler | 56 } // namespace compiler |
52 } // namespace internal | 57 } // namespace internal |
53 } // namespace v8 | 58 } // namespace v8 |
54 | 59 |
55 #endif // V8_COMPILER_ESCAPE_ANALYSIS_REDUCER_H_ | 60 #endif // V8_COMPILER_ESCAPE_ANALYSIS_REDUCER_H_ |
OLD | NEW |