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

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

Issue 527093002: Make concrete classes for individual call descriptors. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE. Created 6 years, 3 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_ARM_LITHIUM_ARM_H_ 5 #ifndef V8_ARM_LITHIUM_ARM_H_
6 #define V8_ARM_LITHIUM_ARM_H_ 6 #define V8_ARM_LITHIUM_ARM_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 1856 matching lines...) Expand 10 before | Expand all | Expand 10 after
1867 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction) 1867 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction)
1868 1868
1869 virtual void PrintDataTo(StringStream* stream) OVERRIDE; 1869 virtual void PrintDataTo(StringStream* stream) OVERRIDE;
1870 1870
1871 int arity() const { return hydrogen()->argument_count() - 1; } 1871 int arity() const { return hydrogen()->argument_count() - 1; }
1872 }; 1872 };
1873 1873
1874 1874
1875 class LCallWithDescriptor FINAL : public LTemplateResultInstruction<1> { 1875 class LCallWithDescriptor FINAL : public LTemplateResultInstruction<1> {
1876 public: 1876 public:
1877 LCallWithDescriptor(const CallInterfaceDescriptor* descriptor, 1877 LCallWithDescriptor(CallInterfaceDescriptor descriptor,
1878 const ZoneList<LOperand*>& operands, Zone* zone) 1878 const ZoneList<LOperand*>& operands, Zone* zone)
1879 : descriptor_(descriptor), 1879 : descriptor_(descriptor),
1880 inputs_(descriptor->GetRegisterParameterCount() + 1, zone) { 1880 inputs_(descriptor.GetRegisterParameterCount() + 1, zone) {
1881 DCHECK(descriptor->GetRegisterParameterCount() + 1 == operands.length()); 1881 DCHECK(descriptor.GetRegisterParameterCount() + 1 == operands.length());
1882 inputs_.AddAll(operands, zone); 1882 inputs_.AddAll(operands, zone);
1883 } 1883 }
1884 1884
1885 LOperand* target() const { return inputs_[0]; } 1885 LOperand* target() const { return inputs_[0]; }
1886 1886
1887 const CallInterfaceDescriptor* descriptor() { return descriptor_; } 1887 const CallInterfaceDescriptor descriptor() { return descriptor_; }
1888 1888
1889 private: 1889 private:
1890 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor") 1890 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor")
1891 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor) 1891 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor)
1892 1892
1893 virtual void PrintDataTo(StringStream* stream) OVERRIDE; 1893 virtual void PrintDataTo(StringStream* stream) OVERRIDE;
1894 1894
1895 int arity() const { return hydrogen()->argument_count() - 1; } 1895 int arity() const { return hydrogen()->argument_count() - 1; }
1896 1896
1897 const CallInterfaceDescriptor* descriptor_; 1897 CallInterfaceDescriptor descriptor_;
1898 ZoneList<LOperand*> inputs_; 1898 ZoneList<LOperand*> inputs_;
1899 1899
1900 // Iterator support. 1900 // Iterator support.
1901 virtual int InputCount() FINAL OVERRIDE { return inputs_.length(); } 1901 virtual int InputCount() FINAL OVERRIDE { return inputs_.length(); }
1902 virtual LOperand* InputAt(int i) FINAL OVERRIDE { return inputs_[i]; } 1902 virtual LOperand* InputAt(int i) FINAL OVERRIDE { return inputs_[i]; }
1903 1903
1904 virtual int TempCount() FINAL OVERRIDE { return 0; } 1904 virtual int TempCount() FINAL OVERRIDE { return 0; }
1905 virtual LOperand* TempAt(int i) FINAL OVERRIDE { return NULL; } 1905 virtual LOperand* TempAt(int i) FINAL OVERRIDE { return NULL; }
1906 }; 1906 };
1907 1907
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
2896 2896
2897 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2897 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2898 }; 2898 };
2899 2899
2900 #undef DECLARE_HYDROGEN_ACCESSOR 2900 #undef DECLARE_HYDROGEN_ACCESSOR
2901 #undef DECLARE_CONCRETE_INSTRUCTION 2901 #undef DECLARE_CONCRETE_INSTRUCTION
2902 2902
2903 } } // namespace v8::internal 2903 } } // namespace v8::internal
2904 2904
2905 #endif // V8_ARM_LITHIUM_ARM_H_ 2905 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698