| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 String* name, | 139 String* name, |
| 140 String* receiver); | 140 String* receiver); |
| 141 | 141 |
| 142 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadFunctionPrototype( | 142 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadFunctionPrototype( |
| 143 String* name, | 143 String* name, |
| 144 JSFunction* receiver); | 144 JSFunction* receiver); |
| 145 | 145 |
| 146 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadSpecialized( | 146 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadSpecialized( |
| 147 JSObject* receiver); | 147 JSObject* receiver); |
| 148 | 148 |
| 149 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadPixelArray( | |
| 150 JSObject* receiver); | |
| 151 | |
| 152 // --- | 149 // --- |
| 153 | 150 |
| 154 MUST_USE_RESULT MaybeObject* ComputeStoreField( | 151 MUST_USE_RESULT MaybeObject* ComputeStoreField( |
| 155 String* name, | 152 String* name, |
| 156 JSObject* receiver, | 153 JSObject* receiver, |
| 157 int field_index, | 154 int field_index, |
| 158 Map* transition, | 155 Map* transition, |
| 159 StrictModeFlag strict_mode); | 156 StrictModeFlag strict_mode); |
| 160 | 157 |
| 161 MUST_USE_RESULT MaybeObject* ComputeStoreNormal( | 158 MUST_USE_RESULT MaybeObject* ComputeStoreNormal( |
| (...skipping 22 matching lines...) Expand all Loading... |
| 184 String* name, | 181 String* name, |
| 185 JSObject* receiver, | 182 JSObject* receiver, |
| 186 int field_index, | 183 int field_index, |
| 187 Map* transition, | 184 Map* transition, |
| 188 StrictModeFlag strict_mode); | 185 StrictModeFlag strict_mode); |
| 189 | 186 |
| 190 MUST_USE_RESULT MaybeObject* ComputeKeyedStoreSpecialized( | 187 MUST_USE_RESULT MaybeObject* ComputeKeyedStoreSpecialized( |
| 191 JSObject* receiver, | 188 JSObject* receiver, |
| 192 StrictModeFlag strict_mode); | 189 StrictModeFlag strict_mode); |
| 193 | 190 |
| 194 MUST_USE_RESULT MaybeObject* ComputeKeyedStorePixelArray( | |
| 195 JSObject* receiver, | |
| 196 StrictModeFlag strict_mode); | |
| 197 | 191 |
| 198 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadOrStoreExternalArray( | 192 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadOrStoreExternalArray( |
| 199 JSObject* receiver, | 193 JSObject* receiver, |
| 200 bool is_store, | 194 bool is_store, |
| 201 StrictModeFlag strict_mode); | 195 StrictModeFlag strict_mode); |
| 202 | 196 |
| 203 // --- | 197 // --- |
| 204 | 198 |
| 205 MUST_USE_RESULT MaybeObject* ComputeCallField(int argc, | 199 MUST_USE_RESULT MaybeObject* ComputeCallField(int argc, |
| 206 InLoopFlag in_loop, | 200 InLoopFlag in_loop, |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 | 620 |
| 627 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object, | 621 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object, |
| 628 JSObject* holder, | 622 JSObject* holder, |
| 629 String* name); | 623 String* name); |
| 630 | 624 |
| 631 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name); | 625 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name); |
| 632 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name); | 626 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name); |
| 633 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name); | 627 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name); |
| 634 | 628 |
| 635 MUST_USE_RESULT MaybeObject* CompileLoadSpecialized(JSObject* receiver); | 629 MUST_USE_RESULT MaybeObject* CompileLoadSpecialized(JSObject* receiver); |
| 636 MUST_USE_RESULT MaybeObject* CompileLoadPixelArray(JSObject* receiver); | |
| 637 | 630 |
| 638 private: | 631 private: |
| 639 MaybeObject* GetCode(PropertyType type, String* name); | 632 MaybeObject* GetCode(PropertyType type, String* name); |
| 640 }; | 633 }; |
| 641 | 634 |
| 642 | 635 |
| 643 class StoreStubCompiler: public StubCompiler { | 636 class StoreStubCompiler: public StubCompiler { |
| 644 public: | 637 public: |
| 645 explicit StoreStubCompiler(StrictModeFlag strict_mode) | 638 explicit StoreStubCompiler(StrictModeFlag strict_mode) |
| 646 : strict_mode_(strict_mode) { } | 639 : strict_mode_(strict_mode) { } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 672 explicit KeyedStoreStubCompiler(StrictModeFlag strict_mode) | 665 explicit KeyedStoreStubCompiler(StrictModeFlag strict_mode) |
| 673 : strict_mode_(strict_mode) { } | 666 : strict_mode_(strict_mode) { } |
| 674 | 667 |
| 675 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, | 668 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, |
| 676 int index, | 669 int index, |
| 677 Map* transition, | 670 Map* transition, |
| 678 String* name); | 671 String* name); |
| 679 | 672 |
| 680 MUST_USE_RESULT MaybeObject* CompileStoreSpecialized(JSObject* receiver); | 673 MUST_USE_RESULT MaybeObject* CompileStoreSpecialized(JSObject* receiver); |
| 681 | 674 |
| 682 MUST_USE_RESULT MaybeObject* CompileStorePixelArray(JSObject* receiver); | |
| 683 | |
| 684 private: | 675 private: |
| 685 MaybeObject* GetCode(PropertyType type, String* name); | 676 MaybeObject* GetCode(PropertyType type, String* name); |
| 686 | 677 |
| 687 StrictModeFlag strict_mode_; | 678 StrictModeFlag strict_mode_; |
| 688 }; | 679 }; |
| 689 | 680 |
| 690 | 681 |
| 691 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call | 682 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call |
| 692 // IC stubs. | 683 // IC stubs. |
| 693 #define CUSTOM_CALL_IC_GENERATORS(V) \ | 684 #define CUSTOM_CALL_IC_GENERATORS(V) \ |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 838 bool is_simple_api_call_; | 829 bool is_simple_api_call_; |
| 839 FunctionTemplateInfo* expected_receiver_type_; | 830 FunctionTemplateInfo* expected_receiver_type_; |
| 840 CallHandlerInfo* api_call_info_; | 831 CallHandlerInfo* api_call_info_; |
| 841 }; | 832 }; |
| 842 | 833 |
| 843 class ExternalArrayStubCompiler: public StubCompiler { | 834 class ExternalArrayStubCompiler: public StubCompiler { |
| 844 public: | 835 public: |
| 845 explicit ExternalArrayStubCompiler() {} | 836 explicit ExternalArrayStubCompiler() {} |
| 846 | 837 |
| 847 MUST_USE_RESULT MaybeObject* CompileKeyedLoadStub( | 838 MUST_USE_RESULT MaybeObject* CompileKeyedLoadStub( |
| 848 ExternalArrayType array_type, Code::Flags flags); | 839 JSObject* receiver, ExternalArrayType array_type, Code::Flags flags); |
| 849 | 840 |
| 850 MUST_USE_RESULT MaybeObject* CompileKeyedStoreStub( | 841 MUST_USE_RESULT MaybeObject* CompileKeyedStoreStub( |
| 851 ExternalArrayType array_type, Code::Flags flags); | 842 JSObject* receiver, ExternalArrayType array_type, Code::Flags flags); |
| 852 | 843 |
| 853 private: | 844 private: |
| 854 MaybeObject* GetCode(Code::Flags flags); | 845 MaybeObject* GetCode(Code::Flags flags); |
| 855 }; | 846 }; |
| 856 | 847 |
| 857 } } // namespace v8::internal | 848 } } // namespace v8::internal |
| 858 | 849 |
| 859 #endif // V8_STUB_CACHE_H_ | 850 #endif // V8_STUB_CACHE_H_ |
| OLD | NEW |