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

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

Issue 838863004: Handle LoadClassId(obj) === cid during type propagation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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 | « runtime/vm/flow_graph_type_propagator.cc ('k') | 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) 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 7584 matching lines...) Expand 10 before | Expand all | Expand 10 after
7595 intptr_t ComputeCidMask() const; 7595 intptr_t ComputeCidMask() const;
7596 static bool IsDenseMask(intptr_t mask); 7596 static bool IsDenseMask(intptr_t mask);
7597 7597
7598 virtual bool AllowsCSE() const { return true; } 7598 virtual bool AllowsCSE() const { return true; }
7599 virtual EffectSet Dependencies() const; 7599 virtual EffectSet Dependencies() const;
7600 virtual EffectSet Effects() const { return EffectSet::None(); } 7600 virtual EffectSet Effects() const { return EffectSet::None(); }
7601 virtual bool AttributesEqual(Instruction* other) const; 7601 virtual bool AttributesEqual(Instruction* other) const;
7602 7602
7603 void set_licm_hoisted(bool value) { licm_hoisted_ = value; } 7603 void set_licm_hoisted(bool value) { licm_hoisted_ = value; }
7604 7604
7605 static bool IsImmutableClassId(intptr_t cid);
7606
7605 private: 7607 private:
7606 const ICData& unary_checks_; 7608 const ICData& unary_checks_;
7607 GrowableArray<intptr_t> cids_; // Sorted, lowest first. 7609 GrowableArray<intptr_t> cids_; // Sorted, lowest first.
7608 bool licm_hoisted_; 7610 bool licm_hoisted_;
7609 const intptr_t token_pos_; 7611 const intptr_t token_pos_;
7610 7612
7611 DISALLOW_COPY_AND_ASSIGN(CheckClassInstr); 7613 DISALLOW_COPY_AND_ASSIGN(CheckClassInstr);
7612 }; 7614 };
7613 7615
7614 7616
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
8036 Isolate* isolate, bool opt) const { \ 8038 Isolate* isolate, bool opt) const { \
8037 UNIMPLEMENTED(); \ 8039 UNIMPLEMENTED(); \
8038 return NULL; \ 8040 return NULL; \
8039 } \ 8041 } \
8040 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } 8042 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
8041 8043
8042 8044
8043 } // namespace dart 8045 } // namespace dart
8044 8046
8045 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 8047 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/intermediate_language.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698