OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1836 matching lines...) Loading... |
1847 } | 1847 } |
1848 | 1848 |
1849 LOperand* function() { return inputs_[0]; } | 1849 LOperand* function() { return inputs_[0]; } |
1850 | 1850 |
1851 DECLARE_CONCRETE_INSTRUCTION(InvokeFunction, "invoke-function") | 1851 DECLARE_CONCRETE_INSTRUCTION(InvokeFunction, "invoke-function") |
1852 DECLARE_HYDROGEN_ACCESSOR(InvokeFunction) | 1852 DECLARE_HYDROGEN_ACCESSOR(InvokeFunction) |
1853 | 1853 |
1854 virtual void PrintDataTo(StringStream* stream); | 1854 virtual void PrintDataTo(StringStream* stream); |
1855 | 1855 |
1856 int arity() const { return hydrogen()->argument_count() - 1; } | 1856 int arity() const { return hydrogen()->argument_count() - 1; } |
1857 Handle<JSFunction> known_function() { return hydrogen()->known_function(); } | |
1858 }; | 1857 }; |
1859 | 1858 |
1860 | 1859 |
1861 class LCallKeyed: public LTemplateInstruction<1, 1, 0> { | 1860 class LCallKeyed: public LTemplateInstruction<1, 1, 0> { |
1862 public: | 1861 public: |
1863 explicit LCallKeyed(LOperand* key) { | 1862 explicit LCallKeyed(LOperand* key) { |
1864 inputs_[0] = key; | 1863 inputs_[0] = key; |
1865 } | 1864 } |
1866 | 1865 |
1867 LOperand* key() { return inputs_[0]; } | 1866 LOperand* key() { return inputs_[0]; } |
(...skipping 47 matching lines...) Loading... |
1915 }; | 1914 }; |
1916 | 1915 |
1917 | 1916 |
1918 class LCallKnownGlobal: public LTemplateInstruction<1, 0, 0> { | 1917 class LCallKnownGlobal: public LTemplateInstruction<1, 0, 0> { |
1919 public: | 1918 public: |
1920 DECLARE_CONCRETE_INSTRUCTION(CallKnownGlobal, "call-known-global") | 1919 DECLARE_CONCRETE_INSTRUCTION(CallKnownGlobal, "call-known-global") |
1921 DECLARE_HYDROGEN_ACCESSOR(CallKnownGlobal) | 1920 DECLARE_HYDROGEN_ACCESSOR(CallKnownGlobal) |
1922 | 1921 |
1923 virtual void PrintDataTo(StringStream* stream); | 1922 virtual void PrintDataTo(StringStream* stream); |
1924 | 1923 |
1925 Handle<JSFunction> target() const { return hydrogen()->target(); } | |
1926 int arity() const { return hydrogen()->argument_count() - 1; } | 1924 int arity() const { return hydrogen()->argument_count() - 1; } |
1927 }; | 1925 }; |
1928 | 1926 |
1929 | 1927 |
1930 class LCallNew: public LTemplateInstruction<1, 1, 0> { | 1928 class LCallNew: public LTemplateInstruction<1, 1, 0> { |
1931 public: | 1929 public: |
1932 explicit LCallNew(LOperand* constructor) { | 1930 explicit LCallNew(LOperand* constructor) { |
1933 inputs_[0] = constructor; | 1931 inputs_[0] = constructor; |
1934 } | 1932 } |
1935 | 1933 |
(...skipping 556 matching lines...) Loading... |
2492 public: | 2490 public: |
2493 DECLARE_CONCRETE_INSTRUCTION(RegExpLiteral, "regexp-literal") | 2491 DECLARE_CONCRETE_INSTRUCTION(RegExpLiteral, "regexp-literal") |
2494 DECLARE_HYDROGEN_ACCESSOR(RegExpLiteral) | 2492 DECLARE_HYDROGEN_ACCESSOR(RegExpLiteral) |
2495 }; | 2493 }; |
2496 | 2494 |
2497 | 2495 |
2498 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { | 2496 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { |
2499 public: | 2497 public: |
2500 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") | 2498 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") |
2501 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) | 2499 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) |
2502 | |
2503 Handle<SharedFunctionInfo> shared_info() { return hydrogen()->shared_info(); } | |
2504 }; | 2500 }; |
2505 | 2501 |
2506 | 2502 |
2507 class LToFastProperties: public LTemplateInstruction<1, 1, 0> { | 2503 class LToFastProperties: public LTemplateInstruction<1, 1, 0> { |
2508 public: | 2504 public: |
2509 explicit LToFastProperties(LOperand* value) { | 2505 explicit LToFastProperties(LOperand* value) { |
2510 inputs_[0] = value; | 2506 inputs_[0] = value; |
2511 } | 2507 } |
2512 | 2508 |
2513 LOperand* value() { return inputs_[0]; } | 2509 LOperand* value() { return inputs_[0]; } |
(...skipping 345 matching lines...) Loading... |
2859 | 2855 |
2860 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2856 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2861 }; | 2857 }; |
2862 | 2858 |
2863 #undef DECLARE_HYDROGEN_ACCESSOR | 2859 #undef DECLARE_HYDROGEN_ACCESSOR |
2864 #undef DECLARE_CONCRETE_INSTRUCTION | 2860 #undef DECLARE_CONCRETE_INSTRUCTION |
2865 | 2861 |
2866 } } // namespace v8::internal | 2862 } } // namespace v8::internal |
2867 | 2863 |
2868 #endif // V8_ARM_LITHIUM_ARM_H_ | 2864 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |