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_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 1876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1887 NEW_STRICT | 1887 NEW_STRICT |
1888 }; | 1888 }; |
1889 | 1889 |
1890 ArgumentsAccessStub(Isolate* isolate, Type type) : PlatformCodeStub(isolate) { | 1890 ArgumentsAccessStub(Isolate* isolate, Type type) : PlatformCodeStub(isolate) { |
1891 minor_key_ = TypeBits::encode(type); | 1891 minor_key_ = TypeBits::encode(type); |
1892 } | 1892 } |
1893 | 1893 |
1894 CallInterfaceDescriptor GetCallInterfaceDescriptor() const override { | 1894 CallInterfaceDescriptor GetCallInterfaceDescriptor() const override { |
1895 if (type() == READ_ELEMENT) { | 1895 if (type() == READ_ELEMENT) { |
1896 return ArgumentsAccessReadDescriptor(isolate()); | 1896 return ArgumentsAccessReadDescriptor(isolate()); |
| 1897 } else { |
| 1898 return ArgumentsAccessNewDescriptor(isolate()); |
1897 } | 1899 } |
1898 return ContextOnlyDescriptor(isolate()); | |
1899 } | 1900 } |
1900 | 1901 |
1901 private: | 1902 private: |
1902 Type type() const { return TypeBits::decode(minor_key_); } | 1903 Type type() const { return TypeBits::decode(minor_key_); } |
1903 | 1904 |
1904 void GenerateReadElement(MacroAssembler* masm); | 1905 void GenerateReadElement(MacroAssembler* masm); |
1905 void GenerateNewStrict(MacroAssembler* masm); | 1906 void GenerateNewStrict(MacroAssembler* masm); |
1906 void GenerateNewSloppyFast(MacroAssembler* masm); | 1907 void GenerateNewSloppyFast(MacroAssembler* masm); |
1907 void GenerateNewSloppySlow(MacroAssembler* masm); | 1908 void GenerateNewSloppySlow(MacroAssembler* masm); |
1908 | 1909 |
(...skipping 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3073 #undef DEFINE_PLATFORM_CODE_STUB | 3074 #undef DEFINE_PLATFORM_CODE_STUB |
3074 #undef DEFINE_HANDLER_CODE_STUB | 3075 #undef DEFINE_HANDLER_CODE_STUB |
3075 #undef DEFINE_HYDROGEN_CODE_STUB | 3076 #undef DEFINE_HYDROGEN_CODE_STUB |
3076 #undef DEFINE_CODE_STUB | 3077 #undef DEFINE_CODE_STUB |
3077 #undef DEFINE_CODE_STUB_BASE | 3078 #undef DEFINE_CODE_STUB_BASE |
3078 | 3079 |
3079 extern Representation RepresentationFromType(Type* type); | 3080 extern Representation RepresentationFromType(Type* type); |
3080 } } // namespace v8::internal | 3081 } } // namespace v8::internal |
3081 | 3082 |
3082 #endif // V8_CODE_STUBS_H_ | 3083 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |