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

Side by Side Diff: runtime/vm/intermediate_language.h

Issue 10917292: Enable CSE for binary smi ops and constants. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/vm/intermediate_language.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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_
6 #define VM_INTERMEDIATE_LANGUAGE_H_ 6 #define VM_INTERMEDIATE_LANGUAGE_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/ast.h" 9 #include "vm/ast.h"
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 1453 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 1464
1465 const Object& value() const { return value_; } 1465 const Object& value() const { return value_; }
1466 1466
1467 virtual void PrintOperandsTo(BufferFormatter* f) const; 1467 virtual void PrintOperandsTo(BufferFormatter* f) const;
1468 1468
1469 virtual bool CanDeoptimize() const { return false; } 1469 virtual bool CanDeoptimize() const { return false; }
1470 1470
1471 virtual intptr_t ResultCid() const; 1471 virtual intptr_t ResultCid() const;
1472 1472
1473 virtual bool AttributesEqual(Definition* other) const; 1473 virtual bool AttributesEqual(Definition* other) const;
1474 virtual bool AffectedBySideEffect() const { return false; }
1474 1475
1475 private: 1476 private:
1476 const Object& value_; 1477 const Object& value_;
1477 1478
1478 DISALLOW_COPY_AND_ASSIGN(ConstantInstr); 1479 DISALLOW_COPY_AND_ASSIGN(ConstantInstr);
1479 }; 1480 };
1480 1481
1481 1482
1482 class AssertAssignableInstr : public TemplateDefinition<3> { 1483 class AssertAssignableInstr : public TemplateDefinition<3> {
1483 public: 1484 public:
(...skipping 1495 matching lines...) Expand 10 before | Expand all | Expand 10 after
2979 2980
2980 const ICData* ic_data() const { return instance_call()->ic_data(); } 2981 const ICData* ic_data() const { return instance_call()->ic_data(); }
2981 2982
2982 virtual void PrintOperandsTo(BufferFormatter* f) const; 2983 virtual void PrintOperandsTo(BufferFormatter* f) const;
2983 2984
2984 DECLARE_INSTRUCTION(BinarySmiOp) 2985 DECLARE_INSTRUCTION(BinarySmiOp)
2985 virtual RawAbstractType* CompileType() const; 2986 virtual RawAbstractType* CompileType() const;
2986 2987
2987 virtual bool CanDeoptimize() const; 2988 virtual bool CanDeoptimize() const;
2988 2989
2990 virtual bool AttributesEqual(Definition* other) const;
2991 virtual bool AffectedBySideEffect() const { return false; }
2992
2989 virtual intptr_t ResultCid() const; 2993 virtual intptr_t ResultCid() const;
2990 2994
2991 private: 2995 private:
2992 const Token::Kind op_kind_; 2996 const Token::Kind op_kind_;
2993 InstanceCallInstr* instance_call_; 2997 InstanceCallInstr* instance_call_;
2994 2998
2995 DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr); 2999 DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr);
2996 }; 3000 };
2997 3001
2998 3002
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after
3444 ForwardInstructionIterator* current_iterator_; 3448 ForwardInstructionIterator* current_iterator_;
3445 3449
3446 private: 3450 private:
3447 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); 3451 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor);
3448 }; 3452 };
3449 3453
3450 3454
3451 } // namespace dart 3455 } // namespace dart
3452 3456
3453 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 3457 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/intermediate_language.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698