| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_ARM64_H_ |
| 6 #define V8_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_ARM64_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 2484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2495 LOperand* object() { return inputs_[0]; } | 2495 LOperand* object() { return inputs_[0]; } |
| 2496 LOperand* value() { return inputs_[1]; } | 2496 LOperand* value() { return inputs_[1]; } |
| 2497 LOperand* temp0() { return temps_[0]; } | 2497 LOperand* temp0() { return temps_[0]; } |
| 2498 LOperand* temp1() { return temps_[1]; } | 2498 LOperand* temp1() { return temps_[1]; } |
| 2499 | 2499 |
| 2500 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2500 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
| 2501 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2501 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
| 2502 | 2502 |
| 2503 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2503 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 2504 | 2504 |
| 2505 Handle<Map> transition() const { return hydrogen()->transition_map(); } | |
| 2506 Representation representation() const { | 2505 Representation representation() const { |
| 2507 return hydrogen()->field_representation(); | 2506 return hydrogen()->field_representation(); |
| 2508 } | 2507 } |
| 2509 }; | 2508 }; |
| 2510 | 2509 |
| 2511 | 2510 |
| 2512 class LStoreNamedGeneric V8_FINAL: public LTemplateInstruction<0, 3, 0> { | 2511 class LStoreNamedGeneric V8_FINAL: public LTemplateInstruction<0, 3, 0> { |
| 2513 public: | 2512 public: |
| 2514 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { | 2513 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value) { |
| 2515 inputs_[0] = context; | 2514 inputs_[0] = context; |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2992 bool is_building() const { return status_ == BUILDING; } | 2991 bool is_building() const { return status_ == BUILDING; } |
| 2993 bool is_done() const { return status_ == DONE; } | 2992 bool is_done() const { return status_ == DONE; } |
| 2994 bool is_aborted() const { return status_ == ABORTED; } | 2993 bool is_aborted() const { return status_ == ABORTED; } |
| 2995 | 2994 |
| 2996 int argument_count() const { return argument_count_; } | 2995 int argument_count() const { return argument_count_; } |
| 2997 CompilationInfo* info() const { return info_; } | 2996 CompilationInfo* info() const { return info_; } |
| 2998 Heap* heap() const { return isolate()->heap(); } | 2997 Heap* heap() const { return isolate()->heap(); } |
| 2999 | 2998 |
| 3000 void Abort(BailoutReason reason); | 2999 void Abort(BailoutReason reason); |
| 3001 | 3000 |
| 3002 // Methods for code dependencies. | |
| 3003 void AddDeprecationDependency(Handle<Map> map); | |
| 3004 | |
| 3005 // Methods for getting operands for Use / Define / Temp. | 3001 // Methods for getting operands for Use / Define / Temp. |
| 3006 LUnallocated* ToUnallocated(Register reg); | 3002 LUnallocated* ToUnallocated(Register reg); |
| 3007 LUnallocated* ToUnallocated(DoubleRegister reg); | 3003 LUnallocated* ToUnallocated(DoubleRegister reg); |
| 3008 | 3004 |
| 3009 // Methods for setting up define-use relationships. | 3005 // Methods for setting up define-use relationships. |
| 3010 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); | 3006 MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand); |
| 3011 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); | 3007 MUST_USE_RESULT LOperand* UseFixed(HValue* value, Register fixed_register); |
| 3012 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, | 3008 MUST_USE_RESULT LOperand* UseFixedDouble(HValue* value, |
| 3013 DoubleRegister fixed_register); | 3009 DoubleRegister fixed_register); |
| 3014 | 3010 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3096 | 3092 |
| 3097 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3093 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 3098 }; | 3094 }; |
| 3099 | 3095 |
| 3100 #undef DECLARE_HYDROGEN_ACCESSOR | 3096 #undef DECLARE_HYDROGEN_ACCESSOR |
| 3101 #undef DECLARE_CONCRETE_INSTRUCTION | 3097 #undef DECLARE_CONCRETE_INSTRUCTION |
| 3102 | 3098 |
| 3103 } } // namespace v8::internal | 3099 } } // namespace v8::internal |
| 3104 | 3100 |
| 3105 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3101 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
| OLD | NEW |