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

Side by Side Diff: src/compiler/bytecode-graph-builder.h

Issue 2309733002: [turbofan] Improve graph for JumpIfTrue/False and JumpIfToBooleanTrue/False. (Closed)
Patch Set: Created 4 years, 3 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 | « no previous file | src/compiler/bytecode-graph-builder.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 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_BYTECODE_GRAPH_BUILDER_H_ 5 #ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ 6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
7 7
8 #include "src/compiler/bytecode-branch-analysis.h" 8 #include "src/compiler/bytecode-branch-analysis.h"
9 #include "src/compiler/bytecode-loop-analysis.h" 9 #include "src/compiler/bytecode-loop-analysis.h"
10 #include "src/compiler/js-graph.h" 10 #include "src/compiler/js-graph.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 // Helper function to create binary operation hint from the recorded 140 // Helper function to create binary operation hint from the recorded
141 // type feedback. 141 // type feedback.
142 BinaryOperationHint GetBinaryOperationHint(int operand_index); 142 BinaryOperationHint GetBinaryOperationHint(int operand_index);
143 143
144 // Helper function to create compare operation hint from the recorded 144 // Helper function to create compare operation hint from the recorded
145 // type feedback. 145 // type feedback.
146 CompareOperationHint GetCompareOperationHint(); 146 CompareOperationHint GetCompareOperationHint();
147 147
148 // Control flow plumbing. 148 // Control flow plumbing.
149 void BuildJump(); 149 void BuildJump();
150 void BuildConditionalJump(Node* condition); 150 void BuildJumpIf(Node* condition);
151 void BuildJumpIfNot(Node* condition);
151 void BuildJumpIfEqual(Node* comperand); 152 void BuildJumpIfEqual(Node* comperand);
152 void BuildJumpIfToBooleanEqual(Node* boolean_comperand); 153 void BuildJumpIfTrue();
154 void BuildJumpIfFalse();
155 void BuildJumpIfToBooleanTrue();
156 void BuildJumpIfToBooleanFalse();
153 void BuildJumpIfNotHole(); 157 void BuildJumpIfNotHole();
154 158
155 // Simulates control flow by forward-propagating environments. 159 // Simulates control flow by forward-propagating environments.
156 void MergeIntoSuccessorEnvironment(int target_offset); 160 void MergeIntoSuccessorEnvironment(int target_offset);
157 void BuildLoopHeaderEnvironment(int current_offset); 161 void BuildLoopHeaderEnvironment(int current_offset);
158 void SwitchToMergeEnvironment(int current_offset); 162 void SwitchToMergeEnvironment(int current_offset);
159 163
160 // Simulates control flow that exits the function body. 164 // Simulates control flow that exits the function body.
161 void MergeControlToLeaveFunction(Node* exit); 165 void MergeControlToLeaveFunction(Node* exit);
162 166
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 static int const kBinaryOperationSmiHintIndex = 2; 273 static int const kBinaryOperationSmiHintIndex = 2;
270 274
271 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); 275 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder);
272 }; 276 };
273 277
274 } // namespace compiler 278 } // namespace compiler
275 } // namespace internal 279 } // namespace internal
276 } // namespace v8 280 } // namespace v8
277 281
278 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ 282 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/bytecode-graph-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698