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_STUB_CACHE_H_ | 5 #ifndef V8_STUB_CACHE_H_ |
6 #define V8_STUB_CACHE_H_ | 6 #define V8_STUB_CACHE_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 static const int kInterceptorArgsHolderIndex = 3; | 511 static const int kInterceptorArgsHolderIndex = 3; |
512 static const int kInterceptorArgsLength = 4; | 512 static const int kInterceptorArgsLength = 4; |
513 | 513 |
514 protected: | 514 protected: |
515 virtual Register FrontendHeader(Register object_reg, Handle<Name> name, | 515 virtual Register FrontendHeader(Register object_reg, Handle<Name> name, |
516 Label* miss); | 516 Label* miss); |
517 | 517 |
518 virtual void FrontendFooter(Handle<Name> name, Label* miss); | 518 virtual void FrontendFooter(Handle<Name> name, Label* miss); |
519 | 519 |
520 private: | 520 private: |
521 Register CallbackFrontend(Register object_reg, Handle<Name> name, | |
522 Handle<Object> callback); | |
523 Handle<Code> CompileLoadNonexistent(Handle<Name> name); | 521 Handle<Code> CompileLoadNonexistent(Handle<Name> name); |
524 void GenerateLoadField(Register reg, | 522 void GenerateLoadField(Register reg, |
525 FieldIndex field, | 523 FieldIndex field, |
526 Representation representation); | 524 Representation representation); |
527 void GenerateLoadConstant(Handle<Object> value); | 525 void GenerateLoadConstant(Handle<Object> value); |
528 void GenerateLoadCallback(Register reg, | 526 void GenerateLoadCallback(Register reg, |
529 Handle<ExecutableAccessorInfo> callback); | 527 Handle<ExecutableAccessorInfo> callback); |
530 void GenerateLoadCallback(const CallOptimization& call_optimization, | 528 void GenerateLoadCallback(const CallOptimization& call_optimization, |
531 Handle<Map> receiver_map); | 529 Handle<Map> receiver_map); |
532 void GenerateLoadInterceptor(Register holder_reg, | 530 void GenerateLoadInterceptor(Register holder_reg, |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
683 Handle<JSFunction> constant_function_; | 681 Handle<JSFunction> constant_function_; |
684 bool is_simple_api_call_; | 682 bool is_simple_api_call_; |
685 Handle<FunctionTemplateInfo> expected_receiver_type_; | 683 Handle<FunctionTemplateInfo> expected_receiver_type_; |
686 Handle<CallHandlerInfo> api_call_info_; | 684 Handle<CallHandlerInfo> api_call_info_; |
687 }; | 685 }; |
688 | 686 |
689 | 687 |
690 } } // namespace v8::internal | 688 } } // namespace v8::internal |
691 | 689 |
692 #endif // V8_STUB_CACHE_H_ | 690 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |