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

Side by Side Diff: src/compiler/instruction-selector.h

Issue 961973002: [turbofan] First shot at eager deoptimization in Turbofan. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix 2 Created 5 years, 9 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
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_INSTRUCTION_SELECTOR_H_ 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_
6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "src/compiler/common-operator.h" 10 #include "src/compiler/common-operator.h"
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 void VisitOsrValue(Node* node); 198 void VisitOsrValue(Node* node);
199 void VisitPhi(Node* node); 199 void VisitPhi(Node* node);
200 void VisitProjection(Node* node); 200 void VisitProjection(Node* node);
201 void VisitConstant(Node* node); 201 void VisitConstant(Node* node);
202 void VisitCall(Node* call, BasicBlock* handler); 202 void VisitCall(Node* call, BasicBlock* handler);
203 void VisitGoto(BasicBlock* target); 203 void VisitGoto(BasicBlock* target);
204 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch); 204 void VisitBranch(Node* input, BasicBlock* tbranch, BasicBlock* fbranch);
205 void VisitSwitch(Node* node, BasicBlock* default_branch, 205 void VisitSwitch(Node* node, BasicBlock* default_branch,
206 BasicBlock** case_branches, int32_t* case_values, 206 BasicBlock** case_branches, int32_t* case_values,
207 size_t case_count, int32_t min_value, int32_t max_value); 207 size_t case_count, int32_t min_value, int32_t max_value);
208 void VisitDeoptimize(Node* value);
208 void VisitReturn(Node* value); 209 void VisitReturn(Node* value);
209 void VisitThrow(Node* value); 210 void VisitThrow(Node* value);
210 void VisitDeoptimize(Node* deopt);
211 211
212 // =========================================================================== 212 // ===========================================================================
213 213
214 Schedule* schedule() const { return schedule_; } 214 Schedule* schedule() const { return schedule_; }
215 Linkage* linkage() const { return linkage_; } 215 Linkage* linkage() const { return linkage_; }
216 InstructionSequence* sequence() const { return sequence_; } 216 InstructionSequence* sequence() const { return sequence_; }
217 Zone* instruction_zone() const { return sequence()->zone(); } 217 Zone* instruction_zone() const { return sequence()->zone(); }
218 Zone* zone() const { return zone_; } 218 Zone* zone() const { return zone_; }
219 219
220 // =========================================================================== 220 // ===========================================================================
221 221
222 Zone* const zone_; 222 Zone* const zone_;
223 Linkage* const linkage_; 223 Linkage* const linkage_;
224 InstructionSequence* const sequence_; 224 InstructionSequence* const sequence_;
225 SourcePositionTable* const source_positions_; 225 SourcePositionTable* const source_positions_;
226 Features features_; 226 Features features_;
227 Schedule* const schedule_; 227 Schedule* const schedule_;
228 BasicBlock* current_block_; 228 BasicBlock* current_block_;
229 ZoneVector<Instruction*> instructions_; 229 ZoneVector<Instruction*> instructions_;
230 BoolVector defined_; 230 BoolVector defined_;
231 BoolVector used_; 231 BoolVector used_;
232 IntVector virtual_registers_; 232 IntVector virtual_registers_;
233 }; 233 };
234 234
235 } // namespace compiler 235 } // namespace compiler
236 } // namespace internal 236 } // namespace internal
237 } // namespace v8 237 } // namespace v8
238 238
239 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ 239 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698