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

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

Issue 12091100: Use SAR for positive divident by a power-of two constant divisor. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 3857 matching lines...) Expand 10 before | Expand all | Expand 10 after
3868 void set_overflow(bool overflow) { 3868 void set_overflow(bool overflow) {
3869 overflow_ = overflow; 3869 overflow_ = overflow;
3870 } 3870 }
3871 3871
3872 void PrintTo(BufferFormatter* f) const; 3872 void PrintTo(BufferFormatter* f) const;
3873 3873
3874 virtual void InferRange(); 3874 virtual void InferRange();
3875 3875
3876 virtual Definition* Canonicalize(FlowGraphOptimizer* optimizer); 3876 virtual Definition* Canonicalize(FlowGraphOptimizer* optimizer);
3877 3877
3878 bool RightIsPowerOfTwoConstant() const;
3879
3878 private: 3880 private:
3879 const Token::Kind op_kind_; 3881 const Token::Kind op_kind_;
3880 InstanceCallInstr* instance_call_; 3882 InstanceCallInstr* instance_call_;
3881 bool overflow_; 3883 bool overflow_;
3882 3884
3883 DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr); 3885 DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr);
3884 }; 3886 };
3885 3887
3886 3888
3887 // Handles both Smi operations: BIT_OR and NEGATE. 3889 // Handles both Smi operations: BIT_OR and NEGATE.
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
4470 ForwardInstructionIterator* current_iterator_; 4472 ForwardInstructionIterator* current_iterator_;
4471 4473
4472 private: 4474 private:
4473 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); 4475 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor);
4474 }; 4476 };
4475 4477
4476 4478
4477 } // namespace dart 4479 } // namespace dart
4478 4480
4479 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 4481 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/intermediate_language.cc » ('j') | runtime/vm/intermediate_language_ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698