| 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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 Register receiver, | 160 Register receiver, |
| 161 Register scratch1, | 161 Register scratch1, |
| 162 Register scratch2, | 162 Register scratch2, |
| 163 Label* miss_label); | 163 Label* miss_label); |
| 164 | 164 |
| 165 // These constants describe the structure of the interceptor arguments on the | 165 // These constants describe the structure of the interceptor arguments on the |
| 166 // stack. The arguments are pushed by the (platform-specific) | 166 // stack. The arguments are pushed by the (platform-specific) |
| 167 // PushInterceptorArguments and read by LoadPropertyWithInterceptorOnly and | 167 // PushInterceptorArguments and read by LoadPropertyWithInterceptorOnly and |
| 168 // LoadWithInterceptor. | 168 // LoadWithInterceptor. |
| 169 static const int kInterceptorArgsNameIndex = 0; | 169 static const int kInterceptorArgsNameIndex = 0; |
| 170 static const int kInterceptorArgsInfoIndex = 1; | 170 static const int kInterceptorArgsThisIndex = 1; |
| 171 static const int kInterceptorArgsThisIndex = 2; | 171 static const int kInterceptorArgsHolderIndex = 2; |
| 172 static const int kInterceptorArgsHolderIndex = 3; | 172 static const int kInterceptorArgsLength = 3; |
| 173 static const int kInterceptorArgsLength = 4; | |
| 174 | 173 |
| 175 protected: | 174 protected: |
| 176 virtual Register FrontendHeader(Register object_reg, Handle<Name> name, | 175 virtual Register FrontendHeader(Register object_reg, Handle<Name> name, |
| 177 Label* miss); | 176 Label* miss); |
| 178 | 177 |
| 179 virtual void FrontendFooter(Handle<Name> name, Label* miss); | 178 virtual void FrontendFooter(Handle<Name> name, Label* miss); |
| 180 | 179 |
| 181 private: | 180 private: |
| 182 Handle<Code> CompileLoadNonexistent(Handle<Name> name); | 181 Handle<Code> CompileLoadNonexistent(Handle<Name> name); |
| 183 void GenerateLoadConstant(Handle<Object> value); | 182 void GenerateLoadConstant(Handle<Object> value); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 | 291 |
| 293 void CompileElementHandlers(MapHandleList* receiver_maps, | 292 void CompileElementHandlers(MapHandleList* receiver_maps, |
| 294 CodeHandleList* handlers); | 293 CodeHandleList* handlers); |
| 295 | 294 |
| 296 static void GenerateStoreSlow(MacroAssembler* masm); | 295 static void GenerateStoreSlow(MacroAssembler* masm); |
| 297 }; | 296 }; |
| 298 } | 297 } |
| 299 } // namespace v8::internal | 298 } // namespace v8::internal |
| 300 | 299 |
| 301 #endif // V8_IC_HANDLER_COMPILER_H_ | 300 #endif // V8_IC_HANDLER_COMPILER_H_ |
| OLD | NEW |