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

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

Issue 384403002: StubCallInterfaceDescriptor takes a context register. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Base class for Descriptors. Created 6 years, 5 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_IA32_LITHIUM_IA32_H_ 5 #ifndef V8_IA32_LITHIUM_IA32_H_
6 #define V8_IA32_LITHIUM_IA32_H_ 6 #define V8_IA32_LITHIUM_IA32_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 1845 matching lines...) Expand 10 before | Expand all | Expand 10 after
1856 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction) 1856 DECLARE_HYDROGEN_ACCESSOR(CallJSFunction)
1857 1857
1858 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1858 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1859 1859
1860 int arity() const { return hydrogen()->argument_count() - 1; } 1860 int arity() const { return hydrogen()->argument_count() - 1; }
1861 }; 1861 };
1862 1862
1863 1863
1864 class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> { 1864 class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
1865 public: 1865 public:
1866 LCallWithDescriptor(const CallInterfaceDescriptor* descriptor, 1866 LCallWithDescriptor(const InterfaceDescriptor* descriptor,
1867 const ZoneList<LOperand*>& operands, 1867 const ZoneList<LOperand*>& operands,
1868 Zone* zone) 1868 Zone* zone)
1869 : inputs_(descriptor->environment_length() + 1, zone) { 1869 : inputs_(descriptor->environment_length() + 2, zone) {
1870 ASSERT(descriptor->environment_length() + 1 == operands.length()); 1870 ASSERT(descriptor->environment_length() + 2 == operands.length());
1871 inputs_.AddAll(operands, zone); 1871 inputs_.AddAll(operands, zone);
1872 } 1872 }
1873 1873
1874 LOperand* target() const { return inputs_[0]; } 1874 LOperand* target() const { return inputs_[0]; }
1875 LOperand* context() const { return inputs_[1]; }
1875 1876
1876 private: 1877 private:
1877 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor") 1878 DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor")
1878 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor) 1879 DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor)
1879 1880
1880 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1881 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1881 1882
1882 int arity() const { return hydrogen()->argument_count() - 1; } 1883 int arity() const { return hydrogen()->argument_count() - 2; }
1883 1884
1884 ZoneList<LOperand*> inputs_; 1885 ZoneList<LOperand*> inputs_;
1885 1886
1886 // Iterator support. 1887 // Iterator support.
1887 virtual int InputCount() V8_FINAL V8_OVERRIDE { return inputs_.length(); } 1888 virtual int InputCount() V8_FINAL V8_OVERRIDE { return inputs_.length(); }
1888 virtual LOperand* InputAt(int i) V8_FINAL V8_OVERRIDE { return inputs_[i]; } 1889 virtual LOperand* InputAt(int i) V8_FINAL V8_OVERRIDE { return inputs_[i]; }
1889 1890
1890 virtual int TempCount() V8_FINAL V8_OVERRIDE { return 0; } 1891 virtual int TempCount() V8_FINAL V8_OVERRIDE { return 0; }
1891 virtual LOperand* TempAt(int i) V8_FINAL V8_OVERRIDE { return NULL; } 1892 virtual LOperand* TempAt(int i) V8_FINAL V8_OVERRIDE { return NULL; }
1892 }; 1893 };
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
2863 2864
2864 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2865 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2865 }; 2866 };
2866 2867
2867 #undef DECLARE_HYDROGEN_ACCESSOR 2868 #undef DECLARE_HYDROGEN_ACCESSOR
2868 #undef DECLARE_CONCRETE_INSTRUCTION 2869 #undef DECLARE_CONCRETE_INSTRUCTION
2869 2870
2870 } } // namespace v8::internal 2871 } } // namespace v8::internal
2871 2872
2872 #endif // V8_IA32_LITHIUM_IA32_H_ 2873 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698