| 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 |