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 "src/hydrogen.h" | 8 #include "src/hydrogen.h" |
9 #include "src/lithium.h" | 9 #include "src/lithium.h" |
10 #include "src/lithium-allocator.h" | 10 #include "src/lithium-allocator.h" |
(...skipping 829 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
840 | 840 |
841 DECLARE_CONCRETE_INSTRUCTION(CallJSFunction, "call-js-function") | 841 DECLARE_CONCRETE_INSTRUCTION(CallJSFunction, "call-js-function") |
842 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction) | 842 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction) |
843 | 843 |
844 void PrintDataTo(StringStream* stream) OVERRIDE; | 844 void PrintDataTo(StringStream* stream) OVERRIDE; |
845 | 845 |
846 int arity() const { return hydrogen()->argument_count() - 1; } | 846 int arity() const { return hydrogen()->argument_count() - 1; } |
847 }; | 847 }; |
848 | 848 |
849 | 849 |
850 class LCallFunction FINAL : public LTemplateInstruction<1, 2, 2> { | 850 class LCallFunction FINAL : public LTemplateInstruction<1, 2, 0> { |
851 public: | 851 public: |
852 LCallFunction(LOperand* context, LOperand* function, LOperand* slot, | 852 LCallFunction(LOperand* context, LOperand* function) { |
853 LOperand* vector) { | |
854 inputs_[0] = context; | 853 inputs_[0] = context; |
855 inputs_[1] = function; | 854 inputs_[1] = function; |
856 temps_[0] = slot; | |
857 temps_[1] = vector; | |
858 } | 855 } |
859 | 856 |
860 LOperand* context() { return inputs_[0]; } | 857 LOperand* context() { return inputs_[0]; } |
861 LOperand* function() { return inputs_[1]; } | 858 LOperand* function() { return inputs_[1]; } |
862 LOperand* temp_slot() { return temps_[0]; } | |
863 LOperand* temp_vector() { return temps_[1]; } | |
864 | 859 |
865 DECLARE_CONCRETE_INSTRUCTION(CallFunction, "call-function") | 860 DECLARE_CONCRETE_INSTRUCTION(CallFunction, "call-function") |
866 DECLARE_HYDROGEN_ACCESSOR(CallFunction) | 861 DECLARE_HYDROGEN_ACCESSOR(CallFunction) |
867 | 862 |
868 int arity() const { return hydrogen()->argument_count() - 1; } | 863 int arity() const { return hydrogen()->argument_count() - 1; } |
869 void PrintDataTo(StringStream* stream) OVERRIDE; | |
870 }; | 864 }; |
871 | 865 |
872 | 866 |
873 class LCallNew FINAL : public LTemplateInstruction<1, 2, 0> { | 867 class LCallNew FINAL : public LTemplateInstruction<1, 2, 0> { |
874 public: | 868 public: |
875 LCallNew(LOperand* context, LOperand* constructor) { | 869 LCallNew(LOperand* context, LOperand* constructor) { |
876 inputs_[0] = context; | 870 inputs_[0] = context; |
877 inputs_[1] = constructor; | 871 inputs_[1] = constructor; |
878 } | 872 } |
879 | 873 |
(...skipping 2365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3245 | 3239 |
3246 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3240 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3247 }; | 3241 }; |
3248 | 3242 |
3249 #undef DECLARE_HYDROGEN_ACCESSOR | 3243 #undef DECLARE_HYDROGEN_ACCESSOR |
3250 #undef DECLARE_CONCRETE_INSTRUCTION | 3244 #undef DECLARE_CONCRETE_INSTRUCTION |
3251 | 3245 |
3252 } } // namespace v8::internal | 3246 } } // namespace v8::internal |
3253 | 3247 |
3254 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3248 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |