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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 V(ElementsTransitionAndStore) \ | 89 V(ElementsTransitionAndStore) \ |
90 V(TransitionElementsKind) \ | 90 V(TransitionElementsKind) \ |
91 V(StoreArrayLiteralElement) \ | 91 V(StoreArrayLiteralElement) \ |
92 V(StubFailureTrampoline) \ | 92 V(StubFailureTrampoline) \ |
93 V(StubFailureTailCallTrampoline) \ | 93 V(StubFailureTailCallTrampoline) \ |
94 V(ArrayConstructor) \ | 94 V(ArrayConstructor) \ |
95 V(InternalArrayConstructor) \ | 95 V(InternalArrayConstructor) \ |
96 V(ProfileEntryHook) \ | 96 V(ProfileEntryHook) \ |
97 V(StoreGlobal) \ | 97 V(StoreGlobal) \ |
98 V(CallApiFunction) \ | 98 V(CallApiFunction) \ |
| 99 V(CallApiGetter) \ |
99 /* IC Handler stubs */ \ | 100 /* IC Handler stubs */ \ |
100 V(LoadField) \ | 101 V(LoadField) \ |
101 V(KeyedLoadField) \ | 102 V(KeyedLoadField) \ |
102 V(KeyedArrayCall) | 103 V(KeyedArrayCall) |
103 | 104 |
104 // List of code stubs only used on ARM platforms. | 105 // List of code stubs only used on ARM platforms. |
105 #if V8_TARGET_ARCH_ARM | 106 #if V8_TARGET_ARCH_ARM |
106 #define CODE_STUB_LIST_ARM(V) \ | 107 #define CODE_STUB_LIST_ARM(V) \ |
107 V(GetProperty) \ | 108 V(GetProperty) \ |
108 V(SetProperty) \ | 109 V(SetProperty) \ |
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1037 class RestoreContextBits: public BitField<bool, 0, 1> {}; | 1038 class RestoreContextBits: public BitField<bool, 0, 1> {}; |
1038 class CallDataUndefinedBits: public BitField<bool, 1, 1> {}; | 1039 class CallDataUndefinedBits: public BitField<bool, 1, 1> {}; |
1039 class ArgumentBits: public BitField<int, 2, Code::kArgumentsBits> {}; | 1040 class ArgumentBits: public BitField<int, 2, Code::kArgumentsBits> {}; |
1040 | 1041 |
1041 int bit_field_; | 1042 int bit_field_; |
1042 | 1043 |
1043 DISALLOW_COPY_AND_ASSIGN(CallApiFunctionStub); | 1044 DISALLOW_COPY_AND_ASSIGN(CallApiFunctionStub); |
1044 }; | 1045 }; |
1045 | 1046 |
1046 | 1047 |
| 1048 class CallApiGetterStub : public PlatformCodeStub { |
| 1049 public: |
| 1050 CallApiGetterStub() {} |
| 1051 |
| 1052 private: |
| 1053 virtual void Generate(MacroAssembler* masm) V8_OVERRIDE; |
| 1054 virtual Major MajorKey() V8_OVERRIDE { return CallApiGetter; } |
| 1055 virtual int MinorKey() V8_OVERRIDE { return 0; } |
| 1056 |
| 1057 DISALLOW_COPY_AND_ASSIGN(CallApiGetterStub); |
| 1058 }; |
| 1059 |
| 1060 |
1047 class KeyedLoadFieldStub: public LoadFieldStub { | 1061 class KeyedLoadFieldStub: public LoadFieldStub { |
1048 public: | 1062 public: |
1049 KeyedLoadFieldStub(bool inobject, int index, Representation representation) | 1063 KeyedLoadFieldStub(bool inobject, int index, Representation representation) |
1050 : LoadFieldStub() { | 1064 : LoadFieldStub() { |
1051 Initialize(Code::KEYED_LOAD_IC, inobject, index, representation); | 1065 Initialize(Code::KEYED_LOAD_IC, inobject, index, representation); |
1052 } | 1066 } |
1053 | 1067 |
1054 virtual void InitializeInterfaceDescriptor( | 1068 virtual void InitializeInterfaceDescriptor( |
1055 Isolate* isolate, | 1069 Isolate* isolate, |
1056 CodeStubInterfaceDescriptor* descriptor); | 1070 CodeStubInterfaceDescriptor* descriptor); |
(...skipping 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2508 | 2522 |
2509 | 2523 |
2510 class CallDescriptors { | 2524 class CallDescriptors { |
2511 public: | 2525 public: |
2512 static void InitializeForIsolate(Isolate* isolate); | 2526 static void InitializeForIsolate(Isolate* isolate); |
2513 }; | 2527 }; |
2514 | 2528 |
2515 } } // namespace v8::internal | 2529 } } // namespace v8::internal |
2516 | 2530 |
2517 #endif // V8_CODE_STUBS_H_ | 2531 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |