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

Side by Side Diff: src/compiler/ast-graph-builder.cc

Issue 1088993003: Replace OVERRIDE->override and FINAL->final since we now require C++11. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 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.h ('k') | src/compiler/ast-loop-assignment-analyzer.h » ('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 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 #include "src/compiler/ast-graph-builder.h" 5 #include "src/compiler/ast-graph-builder.h"
6 6
7 #include "src/compiler.h" 7 #include "src/compiler.h"
8 #include "src/compiler/ast-loop-assignment-analyzer.h" 8 #include "src/compiler/ast-loop-assignment-analyzer.h"
9 #include "src/compiler/control-builders.h" 9 #include "src/compiler/control-builders.h"
10 #include "src/compiler/js-type-feedback.h" 10 #include "src/compiler/js-type-feedback.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 #endif 64 #endif
65 65
66 private: 66 private:
67 Expression::Context kind_; 67 Expression::Context kind_;
68 AstGraphBuilder* owner_; 68 AstGraphBuilder* owner_;
69 AstContext* outer_; 69 AstContext* outer_;
70 }; 70 };
71 71
72 72
73 // Context to evaluate expression for its side effects only. 73 // Context to evaluate expression for its side effects only.
74 class AstGraphBuilder::AstEffectContext FINAL : public AstContext { 74 class AstGraphBuilder::AstEffectContext final : public AstContext {
75 public: 75 public:
76 explicit AstEffectContext(AstGraphBuilder* owner) 76 explicit AstEffectContext(AstGraphBuilder* owner)
77 : AstContext(owner, Expression::kEffect) {} 77 : AstContext(owner, Expression::kEffect) {}
78 ~AstEffectContext() FINAL; 78 ~AstEffectContext() final;
79 void ProduceValue(Node* value) FINAL; 79 void ProduceValue(Node* value) final;
80 Node* ConsumeValue() FINAL; 80 Node* ConsumeValue() final;
81 }; 81 };
82 82
83 83
84 // Context to evaluate expression for its value (and side effects). 84 // Context to evaluate expression for its value (and side effects).
85 class AstGraphBuilder::AstValueContext FINAL : public AstContext { 85 class AstGraphBuilder::AstValueContext final : public AstContext {
86 public: 86 public:
87 explicit AstValueContext(AstGraphBuilder* owner) 87 explicit AstValueContext(AstGraphBuilder* owner)
88 : AstContext(owner, Expression::kValue) {} 88 : AstContext(owner, Expression::kValue) {}
89 ~AstValueContext() FINAL; 89 ~AstValueContext() final;
90 void ProduceValue(Node* value) FINAL; 90 void ProduceValue(Node* value) final;
91 Node* ConsumeValue() FINAL; 91 Node* ConsumeValue() final;
92 }; 92 };
93 93
94 94
95 // Context to evaluate expression for a condition value (and side effects). 95 // Context to evaluate expression for a condition value (and side effects).
96 class AstGraphBuilder::AstTestContext FINAL : public AstContext { 96 class AstGraphBuilder::AstTestContext final : public AstContext {
97 public: 97 public:
98 explicit AstTestContext(AstGraphBuilder* owner) 98 explicit AstTestContext(AstGraphBuilder* owner)
99 : AstContext(owner, Expression::kTest) {} 99 : AstContext(owner, Expression::kTest) {}
100 ~AstTestContext() FINAL; 100 ~AstTestContext() final;
101 void ProduceValue(Node* value) FINAL; 101 void ProduceValue(Node* value) final;
102 Node* ConsumeValue() FINAL; 102 Node* ConsumeValue() final;
103 }; 103 };
104 104
105 105
106 // Scoped class tracking context objects created by the visitor. Represents 106 // Scoped class tracking context objects created by the visitor. Represents
107 // mutations of the context chain within the function body and allows to 107 // mutations of the context chain within the function body and allows to
108 // change the current {scope} and {context} during visitation. 108 // change the current {scope} and {context} during visitation.
109 class AstGraphBuilder::ContextScope BASE_EMBEDDED { 109 class AstGraphBuilder::ContextScope BASE_EMBEDDED {
110 public: 110 public:
111 ContextScope(AstGraphBuilder* builder, Scope* scope, Node* context) 111 ContextScope(AstGraphBuilder* builder, Scope* scope, Node* context)
112 : builder_(builder), 112 : builder_(builder),
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 272
273 273
274 // Control scope implementation for a BreakableStatement. 274 // Control scope implementation for a BreakableStatement.
275 class AstGraphBuilder::ControlScopeForBreakable : public ControlScope { 275 class AstGraphBuilder::ControlScopeForBreakable : public ControlScope {
276 public: 276 public:
277 ControlScopeForBreakable(AstGraphBuilder* owner, BreakableStatement* target, 277 ControlScopeForBreakable(AstGraphBuilder* owner, BreakableStatement* target,
278 ControlBuilder* control) 278 ControlBuilder* control)
279 : ControlScope(owner), target_(target), control_(control) {} 279 : ControlScope(owner), target_(target), control_(control) {}
280 280
281 protected: 281 protected:
282 virtual bool Execute(Command cmd, Statement* target, Node* value) OVERRIDE { 282 virtual bool Execute(Command cmd, Statement* target, Node* value) override {
283 if (target != target_) return false; // We are not the command target. 283 if (target != target_) return false; // We are not the command target.
284 switch (cmd) { 284 switch (cmd) {
285 case CMD_BREAK: 285 case CMD_BREAK:
286 control_->Break(); 286 control_->Break();
287 return true; 287 return true;
288 case CMD_CONTINUE: 288 case CMD_CONTINUE:
289 case CMD_THROW: 289 case CMD_THROW:
290 case CMD_RETURN: 290 case CMD_RETURN:
291 break; 291 break;
292 } 292 }
293 return false; 293 return false;
294 } 294 }
295 295
296 private: 296 private:
297 BreakableStatement* target_; 297 BreakableStatement* target_;
298 ControlBuilder* control_; 298 ControlBuilder* control_;
299 }; 299 };
300 300
301 301
302 // Control scope implementation for an IterationStatement. 302 // Control scope implementation for an IterationStatement.
303 class AstGraphBuilder::ControlScopeForIteration : public ControlScope { 303 class AstGraphBuilder::ControlScopeForIteration : public ControlScope {
304 public: 304 public:
305 ControlScopeForIteration(AstGraphBuilder* owner, IterationStatement* target, 305 ControlScopeForIteration(AstGraphBuilder* owner, IterationStatement* target,
306 LoopBuilder* control) 306 LoopBuilder* control)
307 : ControlScope(owner), target_(target), control_(control) {} 307 : ControlScope(owner), target_(target), control_(control) {}
308 308
309 protected: 309 protected:
310 virtual bool Execute(Command cmd, Statement* target, Node* value) OVERRIDE { 310 virtual bool Execute(Command cmd, Statement* target, Node* value) override {
311 if (target != target_) return false; // We are not the command target. 311 if (target != target_) return false; // We are not the command target.
312 switch (cmd) { 312 switch (cmd) {
313 case CMD_BREAK: 313 case CMD_BREAK:
314 control_->Break(); 314 control_->Break();
315 return true; 315 return true;
316 case CMD_CONTINUE: 316 case CMD_CONTINUE:
317 control_->Continue(); 317 control_->Continue();
318 return true; 318 return true;
319 case CMD_THROW: 319 case CMD_THROW:
320 case CMD_RETURN: 320 case CMD_RETURN:
(...skipping 13 matching lines...) Expand all
334 public: 334 public:
335 ControlScopeForCatch(AstGraphBuilder* owner, TryCatchBuilder* control) 335 ControlScopeForCatch(AstGraphBuilder* owner, TryCatchBuilder* control)
336 : ControlScope(owner), control_(control) { 336 : ControlScope(owner), control_(control) {
337 builder()->try_nesting_level_++; // Increment nesting. 337 builder()->try_nesting_level_++; // Increment nesting.
338 } 338 }
339 ~ControlScopeForCatch() { 339 ~ControlScopeForCatch() {
340 builder()->try_nesting_level_--; // Decrement nesting. 340 builder()->try_nesting_level_--; // Decrement nesting.
341 } 341 }
342 342
343 protected: 343 protected:
344 virtual bool Execute(Command cmd, Statement* target, Node* value) OVERRIDE { 344 virtual bool Execute(Command cmd, Statement* target, Node* value) override {
345 switch (cmd) { 345 switch (cmd) {
346 case CMD_THROW: 346 case CMD_THROW:
347 control_->Throw(value); 347 control_->Throw(value);
348 return true; 348 return true;
349 case CMD_BREAK: 349 case CMD_BREAK:
350 case CMD_CONTINUE: 350 case CMD_CONTINUE:
351 case CMD_RETURN: 351 case CMD_RETURN:
352 break; 352 break;
353 } 353 }
354 return false; 354 return false;
(...skipping 10 matching lines...) Expand all
365 ControlScopeForFinally(AstGraphBuilder* owner, DeferredCommands* commands, 365 ControlScopeForFinally(AstGraphBuilder* owner, DeferredCommands* commands,
366 TryFinallyBuilder* control) 366 TryFinallyBuilder* control)
367 : ControlScope(owner), commands_(commands), control_(control) { 367 : ControlScope(owner), commands_(commands), control_(control) {
368 builder()->try_nesting_level_++; // Increment nesting. 368 builder()->try_nesting_level_++; // Increment nesting.
369 } 369 }
370 ~ControlScopeForFinally() { 370 ~ControlScopeForFinally() {
371 builder()->try_nesting_level_--; // Decrement nesting. 371 builder()->try_nesting_level_--; // Decrement nesting.
372 } 372 }
373 373
374 protected: 374 protected:
375 virtual bool Execute(Command cmd, Statement* target, Node* value) OVERRIDE { 375 virtual bool Execute(Command cmd, Statement* target, Node* value) override {
376 Node* token = commands_->RecordCommand(cmd, target, value); 376 Node* token = commands_->RecordCommand(cmd, target, value);
377 control_->LeaveTry(token, value); 377 control_->LeaveTry(token, value);
378 return true; 378 return true;
379 } 379 }
380 380
381 private: 381 private:
382 DeferredCommands* commands_; 382 DeferredCommands* commands_;
383 TryFinallyBuilder* control_; 383 TryFinallyBuilder* control_;
384 }; 384 };
385 385
(...skipping 3164 matching lines...) Expand 10 before | Expand all | Expand 10 after
3550 // Phi does not exist yet, introduce one. 3550 // Phi does not exist yet, introduce one.
3551 value = NewPhi(inputs, value, control); 3551 value = NewPhi(inputs, value, control);
3552 value->ReplaceInput(inputs - 1, other); 3552 value->ReplaceInput(inputs - 1, other);
3553 } 3553 }
3554 return value; 3554 return value;
3555 } 3555 }
3556 3556
3557 } // namespace compiler 3557 } // namespace compiler
3558 } // namespace internal 3558 } // namespace internal
3559 } // namespace v8 3559 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ast-graph-builder.h ('k') | src/compiler/ast-loop-assignment-analyzer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698