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