OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 | 654 |
655 static void GenerateLoadExternalArray(MacroAssembler* masm, | 655 static void GenerateLoadExternalArray(MacroAssembler* masm, |
656 JSObject::ElementsKind elements_kind); | 656 JSObject::ElementsKind elements_kind); |
657 | 657 |
658 static void GenerateLoadFastElement(MacroAssembler* masm); | 658 static void GenerateLoadFastElement(MacroAssembler* masm); |
659 | 659 |
660 private: | 660 private: |
661 MaybeObject* GetCode(PropertyType type, | 661 MaybeObject* GetCode(PropertyType type, |
662 String* name, | 662 String* name, |
663 InlineCacheState state = MONOMORPHIC); | 663 InlineCacheState state = MONOMORPHIC); |
| 664 |
| 665 MaybeObject* ComputeSharedKeyedLoadElementStub(Map* receiver_map); |
664 }; | 666 }; |
665 | 667 |
666 | 668 |
667 class StoreStubCompiler: public StubCompiler { | 669 class StoreStubCompiler: public StubCompiler { |
668 public: | 670 public: |
669 explicit StoreStubCompiler(StrictModeFlag strict_mode) | 671 explicit StoreStubCompiler(StrictModeFlag strict_mode) |
670 : strict_mode_(strict_mode) { } | 672 : strict_mode_(strict_mode) { } |
671 | 673 |
672 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, | 674 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, |
673 int index, | 675 int index, |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 bool is_js_array); | 713 bool is_js_array); |
712 | 714 |
713 static void GenerateStoreExternalArray(MacroAssembler* masm, | 715 static void GenerateStoreExternalArray(MacroAssembler* masm, |
714 JSObject::ElementsKind elements_kind); | 716 JSObject::ElementsKind elements_kind); |
715 | 717 |
716 private: | 718 private: |
717 MaybeObject* GetCode(PropertyType type, | 719 MaybeObject* GetCode(PropertyType type, |
718 String* name, | 720 String* name, |
719 InlineCacheState state = MONOMORPHIC); | 721 InlineCacheState state = MONOMORPHIC); |
720 | 722 |
| 723 MaybeObject* ComputeSharedKeyedStoreElementStub(Map* receiver_map); |
| 724 |
721 StrictModeFlag strict_mode_; | 725 StrictModeFlag strict_mode_; |
722 }; | 726 }; |
723 | 727 |
724 | 728 |
725 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call | 729 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call |
726 // IC stubs. | 730 // IC stubs. |
727 #define CUSTOM_CALL_IC_GENERATORS(V) \ | 731 #define CUSTOM_CALL_IC_GENERATORS(V) \ |
728 V(ArrayPush) \ | 732 V(ArrayPush) \ |
729 V(ArrayPop) \ | 733 V(ArrayPop) \ |
730 V(StringCharCodeAt) \ | 734 V(StringCharCodeAt) \ |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 JSFunction* constant_function_; | 891 JSFunction* constant_function_; |
888 bool is_simple_api_call_; | 892 bool is_simple_api_call_; |
889 FunctionTemplateInfo* expected_receiver_type_; | 893 FunctionTemplateInfo* expected_receiver_type_; |
890 CallHandlerInfo* api_call_info_; | 894 CallHandlerInfo* api_call_info_; |
891 }; | 895 }; |
892 | 896 |
893 | 897 |
894 } } // namespace v8::internal | 898 } } // namespace v8::internal |
895 | 899 |
896 #endif // V8_STUB_CACHE_H_ | 900 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |