OLD | NEW |
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_X64_LITHIUM_X64_H_ | 5 #ifndef V8_X64_LITHIUM_X64_H_ |
6 #define V8_X64_LITHIUM_X64_H_ | 6 #define V8_X64_LITHIUM_X64_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 1910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1921 | 1921 |
1922 DECLARE_CONCRETE_INSTRUCTION(InvokeFunction, "invoke-function") | 1922 DECLARE_CONCRETE_INSTRUCTION(InvokeFunction, "invoke-function") |
1923 DECLARE_HYDROGEN_ACCESSOR(InvokeFunction) | 1923 DECLARE_HYDROGEN_ACCESSOR(InvokeFunction) |
1924 | 1924 |
1925 void PrintDataTo(StringStream* stream) OVERRIDE; | 1925 void PrintDataTo(StringStream* stream) OVERRIDE; |
1926 | 1926 |
1927 int arity() const { return hydrogen()->argument_count() - 1; } | 1927 int arity() const { return hydrogen()->argument_count() - 1; } |
1928 }; | 1928 }; |
1929 | 1929 |
1930 | 1930 |
1931 class LCallFunction FINAL : public LTemplateInstruction<1, 2, 2> { | 1931 class LCallFunction FINAL : public LTemplateInstruction<1, 2, 0> { |
1932 public: | 1932 public: |
1933 LCallFunction(LOperand* context, LOperand* function, LOperand* slot, | 1933 LCallFunction(LOperand* context, LOperand* function) { |
1934 LOperand* vector) { | |
1935 inputs_[0] = context; | 1934 inputs_[0] = context; |
1936 inputs_[1] = function; | 1935 inputs_[1] = function; |
1937 temps_[0] = slot; | |
1938 temps_[1] = vector; | |
1939 } | 1936 } |
1940 | 1937 |
1941 DECLARE_CONCRETE_INSTRUCTION(CallFunction, "call-function") | 1938 DECLARE_CONCRETE_INSTRUCTION(CallFunction, "call-function") |
1942 DECLARE_HYDROGEN_ACCESSOR(CallFunction) | 1939 DECLARE_HYDROGEN_ACCESSOR(CallFunction) |
1943 | 1940 |
1944 LOperand* context() { return inputs_[0]; } | 1941 LOperand* context() { return inputs_[0]; } |
1945 LOperand* function() { return inputs_[1]; } | 1942 LOperand* function() { return inputs_[1]; } |
1946 LOperand* temp_slot() { return temps_[0]; } | |
1947 LOperand* temp_vector() { return temps_[1]; } | |
1948 int arity() const { return hydrogen()->argument_count() - 1; } | 1943 int arity() const { return hydrogen()->argument_count() - 1; } |
1949 | |
1950 void PrintDataTo(StringStream* stream) OVERRIDE; | |
1951 }; | 1944 }; |
1952 | 1945 |
1953 | 1946 |
1954 class LCallNew FINAL : public LTemplateInstruction<1, 2, 0> { | 1947 class LCallNew FINAL : public LTemplateInstruction<1, 2, 0> { |
1955 public: | 1948 public: |
1956 LCallNew(LOperand* context, LOperand* constructor) { | 1949 LCallNew(LOperand* context, LOperand* constructor) { |
1957 inputs_[0] = context; | 1950 inputs_[0] = context; |
1958 inputs_[1] = constructor; | 1951 inputs_[1] = constructor; |
1959 } | 1952 } |
1960 | 1953 |
(...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2867 | 2860 |
2868 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2861 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2869 }; | 2862 }; |
2870 | 2863 |
2871 #undef DECLARE_HYDROGEN_ACCESSOR | 2864 #undef DECLARE_HYDROGEN_ACCESSOR |
2872 #undef DECLARE_CONCRETE_INSTRUCTION | 2865 #undef DECLARE_CONCRETE_INSTRUCTION |
2873 | 2866 |
2874 } } // namespace v8::int | 2867 } } // namespace v8::int |
2875 | 2868 |
2876 #endif // V8_X64_LITHIUM_X64_H_ | 2869 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |