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

Side by Side Diff: src/hydrogen-instructions.h

Issue 261003002: Drop obsolete HCheckMaps::HandleSideEffectsDominator(). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 7 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 | src/hydrogen-instructions.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_HYDROGEN_INSTRUCTIONS_H_ 5 #ifndef V8_HYDROGEN_INSTRUCTIONS_H_
6 #define V8_HYDROGEN_INSTRUCTIONS_H_ 6 #define V8_HYDROGEN_INSTRUCTIONS_H_
7 7
8 #include "v8.h" 8 #include "v8.h"
9 9
10 #include "allocation.h" 10 #include "allocation.h"
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 V(TransitionElementsKind) \ 154 V(TransitionElementsKind) \
155 V(TrapAllocationMemento) \ 155 V(TrapAllocationMemento) \
156 V(Typeof) \ 156 V(Typeof) \
157 V(TypeofIsAndBranch) \ 157 V(TypeofIsAndBranch) \
158 V(UnaryMathOperation) \ 158 V(UnaryMathOperation) \
159 V(UnknownOSRValue) \ 159 V(UnknownOSRValue) \
160 V(UseConst) \ 160 V(UseConst) \
161 V(WrapReceiver) 161 V(WrapReceiver)
162 162
163 #define GVN_TRACKED_FLAG_LIST(V) \ 163 #define GVN_TRACKED_FLAG_LIST(V) \
164 V(Maps) \
165 V(NewSpacePromotion) 164 V(NewSpacePromotion)
166 165
167 #define GVN_UNTRACKED_FLAG_LIST(V) \ 166 #define GVN_UNTRACKED_FLAG_LIST(V) \
168 V(ArrayElements) \ 167 V(ArrayElements) \
169 V(ArrayLengths) \ 168 V(ArrayLengths) \
170 V(StringLengths) \ 169 V(StringLengths) \
171 V(BackingStoreFields) \ 170 V(BackingStoreFields) \
172 V(Calls) \ 171 V(Calls) \
173 V(ContextSlots) \ 172 V(ContextSlots) \
174 V(DoubleArrayElements) \ 173 V(DoubleArrayElements) \
175 V(DoubleFields) \ 174 V(DoubleFields) \
176 V(ElementsKind) \ 175 V(ElementsKind) \
177 V(ElementsPointer) \ 176 V(ElementsPointer) \
178 V(GlobalVars) \ 177 V(GlobalVars) \
179 V(InobjectFields) \ 178 V(InobjectFields) \
179 V(Maps) \
180 V(OsrEntries) \ 180 V(OsrEntries) \
181 V(ExternalMemory) \ 181 V(ExternalMemory) \
182 V(StringChars) \ 182 V(StringChars) \
183 V(TypedArrayElements) 183 V(TypedArrayElements)
184 184
185 185
186 #define DECLARE_ABSTRACT_INSTRUCTION(type) \ 186 #define DECLARE_ABSTRACT_INSTRUCTION(type) \
187 virtual bool Is##type() const V8_FINAL V8_OVERRIDE { return true; } \ 187 virtual bool Is##type() const V8_FINAL V8_OVERRIDE { return true; } \
188 static H##type* cast(HValue* value) { \ 188 static H##type* cast(HValue* value) { \
189 ASSERT(value->Is##type()); \ 189 ASSERT(value->Is##type()); \
(...skipping 2565 matching lines...) Expand 10 before | Expand all | Expand 10 after
2755 } 2755 }
2756 return check_map; 2756 return check_map;
2757 } 2757 }
2758 2758
2759 bool CanOmitMapChecks() { return omit_; } 2759 bool CanOmitMapChecks() { return omit_; }
2760 2760
2761 virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; } 2761 virtual bool HasEscapingOperandAt(int index) V8_OVERRIDE { return false; }
2762 virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { 2762 virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
2763 return Representation::Tagged(); 2763 return Representation::Tagged();
2764 } 2764 }
2765 virtual bool HandleSideEffectDominator(GVNFlag side_effect,
2766 HValue* dominator) V8_OVERRIDE;
2767 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 2765 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
2768 2766
2769 HValue* value() { return OperandAt(0); } 2767 HValue* value() { return OperandAt(0); }
2770 HValue* typecheck() { return OperandAt(1); } 2768 HValue* typecheck() { return OperandAt(1); }
2771 2769
2772 Unique<Map> first_map() const { return map_set_.at(0); } 2770 Unique<Map> first_map() const { return map_set_.at(0); }
2773 const UniqueSet<Map>* map_set() const { return &map_set_; } 2771 const UniqueSet<Map>* map_set() const { return &map_set_; }
2774 2772
2775 void set_map_set(UniqueSet<Map>* maps, Zone *zone) { 2773 void set_map_set(UniqueSet<Map>* maps, Zone *zone) {
2776 map_set_.Clear(); 2774 map_set_.Clear();
(...skipping 29 matching lines...) Expand all
2806 2804
2807 // Clients should use one of the static New* methods above. 2805 // Clients should use one of the static New* methods above.
2808 HCheckMaps(HValue* value, Zone *zone, HValue* typecheck) 2806 HCheckMaps(HValue* value, Zone *zone, HValue* typecheck)
2809 : HTemplateInstruction<2>(value->type()), 2807 : HTemplateInstruction<2>(value->type()),
2810 omit_(false), has_migration_target_(false) { 2808 omit_(false), has_migration_target_(false) {
2811 SetOperandAt(0, value); 2809 SetOperandAt(0, value);
2812 // Use the object value for the dependency if NULL is passed. 2810 // Use the object value for the dependency if NULL is passed.
2813 SetOperandAt(1, typecheck != NULL ? typecheck : value); 2811 SetOperandAt(1, typecheck != NULL ? typecheck : value);
2814 set_representation(Representation::Tagged()); 2812 set_representation(Representation::Tagged());
2815 SetFlag(kUseGVN); 2813 SetFlag(kUseGVN);
2816 SetFlag(kTrackSideEffectDominators);
2817 } 2814 }
2818 2815
2819 bool omit_; 2816 bool omit_;
2820 bool has_migration_target_; 2817 bool has_migration_target_;
2821 UniqueSet<Map> map_set_; 2818 UniqueSet<Map> map_set_;
2822 }; 2819 };
2823 2820
2824 2821
2825 class HCheckValue V8_FINAL : public HUnaryOperation { 2822 class HCheckValue V8_FINAL : public HUnaryOperation {
2826 public: 2823 public:
(...skipping 4737 matching lines...) Expand 10 before | Expand all | Expand 10 after
7564 virtual bool IsDeletable() const V8_OVERRIDE { return true; } 7561 virtual bool IsDeletable() const V8_OVERRIDE { return true; }
7565 }; 7562 };
7566 7563
7567 7564
7568 #undef DECLARE_INSTRUCTION 7565 #undef DECLARE_INSTRUCTION
7569 #undef DECLARE_CONCRETE_INSTRUCTION 7566 #undef DECLARE_CONCRETE_INSTRUCTION
7570 7567
7571 } } // namespace v8::internal 7568 } } // namespace v8::internal
7572 7569
7573 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 7570 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « no previous file | src/hydrogen-instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698