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

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

Issue 538573002: MIPS: Make concrete classes for individual call descriptors. - internal (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: mips64 port added. 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
« no previous file with comments | « src/mips/lithium-codegen-mips.cc ('k') | src/mips/lithium-mips.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_MIPS_LITHIUM_MIPS_H_ 5 #ifndef V8_MIPS_LITHIUM_MIPS_H_
6 #define V8_MIPS_LITHIUM_MIPS_H_ 6 #define V8_MIPS_LITHIUM_MIPS_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 1819 matching lines...) Expand 10 before | Expand all | Expand 10 after
1830 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction) 1830 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction)
1831 1831
1832 virtual void PrintDataTo(StringStream* stream) OVERRIDE; 1832 virtual void PrintDataTo(StringStream* stream) OVERRIDE;
1833 1833
1834 int arity() const { return hydrogen()->argument_count() - 1; } 1834 int arity() const { return hydrogen()->argument_count() - 1; }
1835 }; 1835 };
1836 1836
1837 1837
1838 class LCallWithDescriptor FINAL : public LTemplateResultInstruction<1> { 1838 class LCallWithDescriptor FINAL : public LTemplateResultInstruction<1> {
1839 public: 1839 public:
1840 LCallWithDescriptor(const CallInterfaceDescriptor* descriptor, 1840 LCallWithDescriptor(CallInterfaceDescriptor descriptor,
1841 const ZoneList<LOperand*>& operands, Zone* zone) 1841 const ZoneList<LOperand*>& operands, Zone* zone)
1842 : descriptor_(descriptor), 1842 : descriptor_(descriptor),
1843 inputs_(descriptor->GetRegisterParameterCount() + 1, zone) { 1843 inputs_(descriptor.GetRegisterParameterCount() + 1, zone) {
1844 DCHECK(descriptor->GetRegisterParameterCount() + 1 == operands.length()); 1844 DCHECK(descriptor.GetRegisterParameterCount() + 1 == operands.length());
1845 inputs_.AddAll(operands, zone); 1845 inputs_.AddAll(operands, zone);
1846 } 1846 }
1847 1847
1848 LOperand* target() const { return inputs_[0]; } 1848 LOperand* target() const { return inputs_[0]; }
1849 1849
1850 const CallInterfaceDescriptor* descriptor() { return descriptor_; } 1850 const CallInterfaceDescriptor descriptor() { return descriptor_; }
1851 1851
1852 private: 1852 private:
1853 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor") 1853 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor")
1854 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor) 1854 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor)
1855 1855
1856 virtual void PrintDataTo(StringStream* stream) OVERRIDE; 1856 virtual void PrintDataTo(StringStream* stream) OVERRIDE;
1857 1857
1858 int arity() const { return hydrogen()->argument_count() - 1; } 1858 int arity() const { return hydrogen()->argument_count() - 1; }
1859 1859
1860 const CallInterfaceDescriptor* descriptor_; 1860 CallInterfaceDescriptor descriptor_;
1861 ZoneList<LOperand*> inputs_; 1861 ZoneList<LOperand*> inputs_;
1862 1862
1863 // Iterator support. 1863 // Iterator support.
1864 virtual int InputCount() FINAL OVERRIDE { return inputs_.length(); } 1864 virtual int InputCount() FINAL OVERRIDE { return inputs_.length(); }
1865 virtual LOperand* InputAt(int i) FINAL OVERRIDE { return inputs_[i]; } 1865 virtual LOperand* InputAt(int i) FINAL OVERRIDE { return inputs_[i]; }
1866 1866
1867 virtual int TempCount() FINAL OVERRIDE { return 0; } 1867 virtual int TempCount() FINAL OVERRIDE { return 0; }
1868 virtual LOperand* TempAt(int i) FINAL OVERRIDE { return NULL; } 1868 virtual LOperand* TempAt(int i) FINAL OVERRIDE { return NULL; }
1869 }; 1869 };
1870 1870
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
2854 2854
2855 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2855 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2856 }; 2856 };
2857 2857
2858 #undef DECLARE_HYDROGEN_ACCESSOR 2858 #undef DECLARE_HYDROGEN_ACCESSOR
2859 #undef DECLARE_CONCRETE_INSTRUCTION 2859 #undef DECLARE_CONCRETE_INSTRUCTION
2860 2860
2861 } } // namespace v8::internal 2861 } } // namespace v8::internal
2862 2862
2863 #endif // V8_MIPS_LITHIUM_MIPS_H_ 2863 #endif // V8_MIPS_LITHIUM_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/lithium-codegen-mips.cc ('k') | src/mips/lithium-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698