Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(772)

Side by Side Diff: src/compiler/js-create-lowering.h

Issue 2655853010: [TypeFeedbackVector] Combine the literals array and the feedback vector. (Closed)
Patch Set: more comments. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/ast-graph-builder.cc ('k') | src/compiler/js-create-lowering.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/base/compiler-specific.h"
9 #include "src/compiler/graph-reducer.h" 9 #include "src/compiler/graph-reducer.h"
10 #include "src/globals.h" 10 #include "src/globals.h"
(...skipping 15 matching lines...) Expand all
26 class JSOperatorBuilder; 26 class JSOperatorBuilder;
27 class MachineOperatorBuilder; 27 class MachineOperatorBuilder;
28 class SimplifiedOperatorBuilder; 28 class SimplifiedOperatorBuilder;
29 29
30 30
31 // Lowers JSCreate-level operators to fast (inline) allocations. 31 // Lowers JSCreate-level operators to fast (inline) allocations.
32 class V8_EXPORT_PRIVATE JSCreateLowering final 32 class V8_EXPORT_PRIVATE JSCreateLowering final
33 : public NON_EXPORTED_BASE(AdvancedReducer) { 33 : public NON_EXPORTED_BASE(AdvancedReducer) {
34 public: 34 public:
35 JSCreateLowering(Editor* editor, CompilationDependencies* dependencies, 35 JSCreateLowering(Editor* editor, CompilationDependencies* dependencies,
36 JSGraph* jsgraph, MaybeHandle<LiteralsArray> literals_array, 36 JSGraph* jsgraph,
37 MaybeHandle<TypeFeedbackVector> feedback_vector,
37 Handle<Context> native_context, Zone* zone) 38 Handle<Context> native_context, Zone* zone)
38 : AdvancedReducer(editor), 39 : AdvancedReducer(editor),
39 dependencies_(dependencies), 40 dependencies_(dependencies),
40 jsgraph_(jsgraph), 41 jsgraph_(jsgraph),
41 literals_array_(literals_array), 42 feedback_vector_(feedback_vector),
42 native_context_(native_context), 43 native_context_(native_context),
43 zone_(zone) {} 44 zone_(zone) {}
44 ~JSCreateLowering() final {} 45 ~JSCreateLowering() final {}
45 46
46 Reduction Reduce(Node* node) final; 47 Reduction Reduce(Node* node) final;
47 48
48 private: 49 private:
49 Reduction ReduceJSCreate(Node* node); 50 Reduction ReduceJSCreate(Node* node);
50 Reduction ReduceJSCreateArguments(Node* node); 51 Reduction ReduceJSCreateArguments(Node* node);
51 Reduction ReduceJSCreateArray(Node* node); 52 Reduction ReduceJSCreateArray(Node* node);
(...skipping 20 matching lines...) Expand all
72 Node* AllocateFastLiteral(Node* effect, Node* control, 73 Node* AllocateFastLiteral(Node* effect, Node* control,
73 Handle<JSObject> boilerplate, 74 Handle<JSObject> boilerplate,
74 AllocationSiteUsageContext* site_context); 75 AllocationSiteUsageContext* site_context);
75 Node* AllocateFastLiteralElements(Node* effect, Node* control, 76 Node* AllocateFastLiteralElements(Node* effect, Node* control,
76 Handle<JSObject> boilerplate, 77 Handle<JSObject> boilerplate,
77 PretenureFlag pretenure, 78 PretenureFlag pretenure,
78 AllocationSiteUsageContext* site_context); 79 AllocationSiteUsageContext* site_context);
79 80
80 Reduction ReduceNewArrayToStubCall(Node* node, Handle<AllocationSite> site); 81 Reduction ReduceNewArrayToStubCall(Node* node, Handle<AllocationSite> site);
81 82
82 // Infers the LiteralsArray to use for a given {node}. 83 // Infers the TypeFeedbackVector to use for a given {node}.
83 MaybeHandle<LiteralsArray> GetSpecializationLiterals(Node* node); 84 MaybeHandle<TypeFeedbackVector> GetSpecializationTypeFeedbackVector(
85 Node* node);
84 86
85 Factory* factory() const; 87 Factory* factory() const;
86 Graph* graph() const; 88 Graph* graph() const;
87 JSGraph* jsgraph() const { return jsgraph_; } 89 JSGraph* jsgraph() const { return jsgraph_; }
88 Isolate* isolate() const; 90 Isolate* isolate() const;
89 Handle<Context> native_context() const { return native_context_; } 91 Handle<Context> native_context() const { return native_context_; }
90 JSOperatorBuilder* javascript() const; 92 JSOperatorBuilder* javascript() const;
91 CommonOperatorBuilder* common() const; 93 CommonOperatorBuilder* common() const;
92 SimplifiedOperatorBuilder* simplified() const; 94 SimplifiedOperatorBuilder* simplified() const;
93 MachineOperatorBuilder* machine() const; 95 MachineOperatorBuilder* machine() const;
94 CompilationDependencies* dependencies() const { return dependencies_; } 96 CompilationDependencies* dependencies() const { return dependencies_; }
95 Zone* zone() const { return zone_; } 97 Zone* zone() const { return zone_; }
96 98
97 CompilationDependencies* const dependencies_; 99 CompilationDependencies* const dependencies_;
98 JSGraph* const jsgraph_; 100 JSGraph* const jsgraph_;
99 MaybeHandle<LiteralsArray> const literals_array_; 101 MaybeHandle<TypeFeedbackVector> const feedback_vector_;
100 Handle<Context> const native_context_; 102 Handle<Context> const native_context_;
101 Zone* const zone_; 103 Zone* const zone_;
102 }; 104 };
103 105
104 } // namespace compiler 106 } // namespace compiler
105 } // namespace internal 107 } // namespace internal
106 } // namespace v8 108 } // namespace v8
107 109
108 #endif // V8_COMPILER_JS_CREATE_LOWERING_H_ 110 #endif // V8_COMPILER_JS_CREATE_LOWERING_H_
OLDNEW
« no previous file with comments | « src/compiler/ast-graph-builder.cc ('k') | src/compiler/js-create-lowering.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698