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 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
655 | 655 |
656 MUST_USE_RESULT MaybeObject* CompileLoadMegamorphic( | 656 MUST_USE_RESULT MaybeObject* CompileLoadMegamorphic( |
657 MapList* receiver_maps, | 657 MapList* receiver_maps, |
658 CodeList* handler_ics); | 658 CodeList* handler_ics); |
659 | 659 |
660 static void GenerateLoadExternalArray(MacroAssembler* masm, | 660 static void GenerateLoadExternalArray(MacroAssembler* masm, |
661 JSObject::ElementsKind elements_kind); | 661 JSObject::ElementsKind elements_kind); |
662 | 662 |
663 static void GenerateLoadFastElement(MacroAssembler* masm); | 663 static void GenerateLoadFastElement(MacroAssembler* masm); |
664 | 664 |
665 static void GenerateLoadDictionaryElement(MacroAssembler* masmx); | |
Jakob Kummerow
2011/07/07 13:55:38
x?
danno
2011/07/08 11:00:24
Done.
| |
666 | |
665 private: | 667 private: |
666 MaybeObject* GetCode(PropertyType type, | 668 MaybeObject* GetCode(PropertyType type, |
667 String* name, | 669 String* name, |
668 InlineCacheState state = MONOMORPHIC); | 670 InlineCacheState state = MONOMORPHIC); |
669 | |
670 MaybeObject* ComputeSharedKeyedLoadElementStub(Map* receiver_map); | |
671 }; | 671 }; |
672 | 672 |
673 | 673 |
674 class StoreStubCompiler: public StubCompiler { | 674 class StoreStubCompiler: public StubCompiler { |
675 public: | 675 public: |
676 explicit StoreStubCompiler(StrictModeFlag strict_mode) | 676 explicit StoreStubCompiler(StrictModeFlag strict_mode) |
677 : strict_mode_(strict_mode) { } | 677 : strict_mode_(strict_mode) { } |
678 | 678 |
679 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, | 679 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, |
680 int index, | 680 int index, |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
713 MUST_USE_RESULT MaybeObject* CompileStoreMegamorphic( | 713 MUST_USE_RESULT MaybeObject* CompileStoreMegamorphic( |
714 MapList* receiver_maps, | 714 MapList* receiver_maps, |
715 CodeList* handler_ics); | 715 CodeList* handler_ics); |
716 | 716 |
717 static void GenerateStoreFastElement(MacroAssembler* masm, | 717 static void GenerateStoreFastElement(MacroAssembler* masm, |
718 bool is_js_array); | 718 bool is_js_array); |
719 | 719 |
720 static void GenerateStoreExternalArray(MacroAssembler* masm, | 720 static void GenerateStoreExternalArray(MacroAssembler* masm, |
721 JSObject::ElementsKind elements_kind); | 721 JSObject::ElementsKind elements_kind); |
722 | 722 |
723 static void GenerateStoreDictionaryElement(MacroAssembler* masm); | |
724 | |
723 private: | 725 private: |
724 MaybeObject* GetCode(PropertyType type, | 726 MaybeObject* GetCode(PropertyType type, |
725 String* name, | 727 String* name, |
726 InlineCacheState state = MONOMORPHIC); | 728 InlineCacheState state = MONOMORPHIC); |
727 | 729 |
728 MaybeObject* ComputeSharedKeyedStoreElementStub(Map* receiver_map); | |
729 | |
730 StrictModeFlag strict_mode_; | 730 StrictModeFlag strict_mode_; |
731 }; | 731 }; |
732 | 732 |
733 | 733 |
734 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call | 734 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call |
735 // IC stubs. | 735 // IC stubs. |
736 #define CUSTOM_CALL_IC_GENERATORS(V) \ | 736 #define CUSTOM_CALL_IC_GENERATORS(V) \ |
737 V(ArrayPush) \ | 737 V(ArrayPush) \ |
738 V(ArrayPop) \ | 738 V(ArrayPop) \ |
739 V(StringCharCodeAt) \ | 739 V(StringCharCodeAt) \ |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
896 JSFunction* constant_function_; | 896 JSFunction* constant_function_; |
897 bool is_simple_api_call_; | 897 bool is_simple_api_call_; |
898 FunctionTemplateInfo* expected_receiver_type_; | 898 FunctionTemplateInfo* expected_receiver_type_; |
899 CallHandlerInfo* api_call_info_; | 899 CallHandlerInfo* api_call_info_; |
900 }; | 900 }; |
901 | 901 |
902 | 902 |
903 } } // namespace v8::internal | 903 } } // namespace v8::internal |
904 | 904 |
905 #endif // V8_STUB_CACHE_H_ | 905 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |