OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_IC_HANDLER_COMPILER_H_ | 5 #ifndef V8_IC_HANDLER_COMPILER_H_ |
6 #define V8_IC_HANDLER_COMPILER_H_ | 6 #define V8_IC_HANDLER_COMPILER_H_ |
7 | 7 |
8 #include "src/ic/access-compiler.h" | 8 #include "src/ic/access-compiler.h" |
9 #include "src/ic/ic-state.h" | 9 #include "src/ic/ic-state.h" |
10 | 10 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 static void GenerateLoadViaGetter(MacroAssembler* masm, Handle<Map> map, | 151 static void GenerateLoadViaGetter(MacroAssembler* masm, Handle<Map> map, |
152 Register receiver, Register holder, | 152 Register receiver, Register holder, |
153 int accessor_index, int expected_arguments, | 153 int accessor_index, int expected_arguments, |
154 Register scratch); | 154 Register scratch); |
155 | 155 |
156 static void GenerateLoadViaGetterForDeopt(MacroAssembler* masm) { | 156 static void GenerateLoadViaGetterForDeopt(MacroAssembler* masm) { |
157 GenerateLoadViaGetter(masm, Handle<Map>::null(), no_reg, no_reg, -1, -1, | 157 GenerateLoadViaGetter(masm, Handle<Map>::null(), no_reg, no_reg, -1, -1, |
158 no_reg); | 158 no_reg); |
159 } | 159 } |
160 | 160 |
161 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, | |
162 Register receiver, | |
163 Register scratch1, | |
164 Register scratch2, | |
165 Label* miss_label); | |
166 | |
167 // These constants describe the structure of the interceptor arguments on the | 161 // These constants describe the structure of the interceptor arguments on the |
168 // stack. The arguments are pushed by the (platform-specific) | 162 // stack. The arguments are pushed by the (platform-specific) |
169 // PushInterceptorArguments and read by LoadPropertyWithInterceptorOnly and | 163 // PushInterceptorArguments and read by LoadPropertyWithInterceptorOnly and |
170 // LoadWithInterceptor. | 164 // LoadWithInterceptor. |
171 static const int kInterceptorArgsNameIndex = 0; | 165 static const int kInterceptorArgsNameIndex = 0; |
172 static const int kInterceptorArgsThisIndex = 1; | 166 static const int kInterceptorArgsThisIndex = 1; |
173 static const int kInterceptorArgsHolderIndex = 2; | 167 static const int kInterceptorArgsHolderIndex = 2; |
174 static const int kInterceptorArgsLength = 3; | 168 static const int kInterceptorArgsLength = 3; |
175 | 169 |
176 protected: | 170 protected: |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 | 253 |
260 static Handle<Object> GetKeyedLoadHandler(Handle<Map> receiver_map, | 254 static Handle<Object> GetKeyedLoadHandler(Handle<Map> receiver_map, |
261 Isolate* isolate); | 255 Isolate* isolate); |
262 void CompileElementHandlers(MapHandleList* receiver_maps, | 256 void CompileElementHandlers(MapHandleList* receiver_maps, |
263 List<Handle<Object>>* handlers); | 257 List<Handle<Object>>* handlers); |
264 }; | 258 }; |
265 } // namespace internal | 259 } // namespace internal |
266 } // namespace v8 | 260 } // namespace v8 |
267 | 261 |
268 #endif // V8_IC_HANDLER_COMPILER_H_ | 262 #endif // V8_IC_HANDLER_COMPILER_H_ |
OLD | NEW |