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

Side by Side Diff: src/ia32/lithium-ia32.h

Issue 256303007: Don't add code dependencies on transitioning stores eagerly. (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
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_IA32_LITHIUM_IA32_H_ 5 #ifndef V8_IA32_LITHIUM_IA32_H_
6 #define V8_IA32_LITHIUM_IA32_H_ 6 #define V8_IA32_LITHIUM_IA32_H_
7 7
8 #include "hydrogen.h" 8 #include "hydrogen.h"
9 #include "lithium-allocator.h" 9 #include "lithium-allocator.h"
10 #include "lithium.h" 10 #include "lithium.h"
(...skipping 2173 matching lines...) Expand 10 before | Expand all | Expand 10 after
2184 2184
2185 LOperand* object() { return inputs_[0]; } 2185 LOperand* object() { return inputs_[0]; }
2186 LOperand* value() { return inputs_[1]; } 2186 LOperand* value() { return inputs_[1]; }
2187 LOperand* temp() { return temps_[0]; } 2187 LOperand* temp() { return temps_[0]; }
2188 LOperand* temp_map() { return temps_[1]; } 2188 LOperand* temp_map() { return temps_[1]; }
2189 2189
2190 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") 2190 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field")
2191 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) 2191 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField)
2192 2192
2193 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 2193 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
2194
2195 Handle<Map> transition() const { return hydrogen()->transition_map(); }
2196 Representation representation() const {
2197 return hydrogen()->field_representation();
2198 }
2199 }; 2194 };
2200 2195
2201 2196
2202 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> { 2197 class LStoreNamedGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> {
2203 public: 2198 public:
2204 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { 2199 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) {
2205 inputs_[0] = context; 2200 inputs_[0] = context;
2206 inputs_[1] = object; 2201 inputs_[1] = object;
2207 inputs_[2] = value; 2202 inputs_[2] = value;
2208 } 2203 }
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
2773 CompilationInfo* info() const { return info_; } 2768 CompilationInfo* info() const { return info_; }
2774 HGraph* graph() const { return graph_; } 2769 HGraph* graph() const { return graph_; }
2775 2770
2776 bool is_unused() const { return status_ == UNUSED; } 2771 bool is_unused() const { return status_ == UNUSED; }
2777 bool is_building() const { return status_ == BUILDING; } 2772 bool is_building() const { return status_ == BUILDING; }
2778 bool is_done() const { return status_ == DONE; } 2773 bool is_done() const { return status_ == DONE; }
2779 bool is_aborted() const { return status_ == ABORTED; } 2774 bool is_aborted() const { return status_ == ABORTED; }
2780 2775
2781 void Abort(BailoutReason reason); 2776 void Abort(BailoutReason reason);
2782 2777
2778 // Methods for code dependencies.
2779 void AddDeprecationDependency(Handle<Map> map);
2780
2783 // Methods for getting operands for Use / Define / Temp. 2781 // Methods for getting operands for Use / Define / Temp.
2784 LUnallocated* ToUnallocated(Register reg); 2782 LUnallocated* ToUnallocated(Register reg);
2785 LUnallocated* ToUnallocated(XMMRegister reg); 2783 LUnallocated* ToUnallocated(XMMRegister reg);
2786 LUnallocated* ToUnallocated(X87Register reg); 2784 LUnallocated* ToUnallocated(X87Register reg);
2787 2785
2788 // Methods for setting up define-use relationships. 2786 // Methods for setting up define-use relationships.
2789 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); 2787 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand);
2790 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); 2788 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register);
2791 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, 2789 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value,
2792 XMMRegister fixed_register); 2790 XMMRegister fixed_register);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
2887 2885
2888 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2886 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2889 }; 2887 };
2890 2888
2891 #undef DECLARE_HYDROGEN_ACCESSOR 2889 #undef DECLARE_HYDROGEN_ACCESSOR
2892 #undef DECLARE_CONCRETE_INSTRUCTION 2890 #undef DECLARE_CONCRETE_INSTRUCTION
2893 2891
2894 } } // namespace v8::internal 2892 } } // namespace v8::internal
2895 2893
2896 #endif // V8_IA32_LITHIUM_IA32_H_ 2894 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW
« src/handles.h ('K') | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698