Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(560)

Side by Side Diff: src/stub-cache.h

Issue 6546036: Combine typed and pixel arrays. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: final version Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/spaces.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 String* name, 126 String* name,
127 String* receiver); 127 String* receiver);
128 128
129 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadFunctionPrototype( 129 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadFunctionPrototype(
130 String* name, 130 String* name,
131 JSFunction* receiver); 131 JSFunction* receiver);
132 132
133 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadSpecialized( 133 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadSpecialized(
134 JSObject* receiver); 134 JSObject* receiver);
135 135
136 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadPixelArray(
137 JSObject* receiver);
138
139 // --- 136 // ---
140 137
141 MUST_USE_RESULT static MaybeObject* ComputeStoreField( 138 MUST_USE_RESULT static MaybeObject* ComputeStoreField(
142 String* name, 139 String* name,
143 JSObject* receiver, 140 JSObject* receiver,
144 int field_index, 141 int field_index,
145 Map* transition, 142 Map* transition,
146 StrictModeFlag strict_mode); 143 StrictModeFlag strict_mode);
147 144
148 MUST_USE_RESULT static MaybeObject* ComputeStoreNormal( 145 MUST_USE_RESULT static MaybeObject* ComputeStoreNormal(
(...skipping 22 matching lines...) Expand all
171 String* name, 168 String* name,
172 JSObject* receiver, 169 JSObject* receiver,
173 int field_index, 170 int field_index,
174 Map* transition, 171 Map* transition,
175 StrictModeFlag strict_mode); 172 StrictModeFlag strict_mode);
176 173
177 MUST_USE_RESULT static MaybeObject* ComputeKeyedStoreSpecialized( 174 MUST_USE_RESULT static MaybeObject* ComputeKeyedStoreSpecialized(
178 JSObject* receiver, 175 JSObject* receiver,
179 StrictModeFlag strict_mode); 176 StrictModeFlag strict_mode);
180 177
181 MUST_USE_RESULT static MaybeObject* ComputeKeyedStorePixelArray(
182 JSObject* receiver,
183 StrictModeFlag strict_mode);
184
185 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadOrStoreExternalArray( 178 MUST_USE_RESULT static MaybeObject* ComputeKeyedLoadOrStoreExternalArray(
186 JSObject* receiver, 179 JSObject* receiver,
187 bool is_store, 180 bool is_store,
188 StrictModeFlag strict_mode); 181 StrictModeFlag strict_mode);
189 182
190 // --- 183 // ---
191 184
192 MUST_USE_RESULT static MaybeObject* ComputeCallField(int argc, 185 MUST_USE_RESULT static MaybeObject* ComputeCallField(int argc,
193 InLoopFlag in_loop, 186 InLoopFlag in_loop,
194 Code::Kind, 187 Code::Kind,
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 609
617 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object, 610 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object,
618 JSObject* holder, 611 JSObject* holder,
619 String* name); 612 String* name);
620 613
621 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name); 614 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name);
622 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name); 615 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name);
623 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name); 616 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name);
624 617
625 MUST_USE_RESULT MaybeObject* CompileLoadSpecialized(JSObject* receiver); 618 MUST_USE_RESULT MaybeObject* CompileLoadSpecialized(JSObject* receiver);
626 MUST_USE_RESULT MaybeObject* CompileLoadPixelArray(JSObject* receiver);
627 619
628 private: 620 private:
629 MaybeObject* GetCode(PropertyType type, String* name); 621 MaybeObject* GetCode(PropertyType type, String* name);
630 }; 622 };
631 623
632 624
633 class StoreStubCompiler: public StubCompiler { 625 class StoreStubCompiler: public StubCompiler {
634 public: 626 public:
635 explicit StoreStubCompiler(StrictModeFlag strict_mode) 627 explicit StoreStubCompiler(StrictModeFlag strict_mode)
636 : strict_mode_(strict_mode) { } 628 : strict_mode_(strict_mode) { }
(...skipping 25 matching lines...) Expand all
662 explicit KeyedStoreStubCompiler(StrictModeFlag strict_mode) 654 explicit KeyedStoreStubCompiler(StrictModeFlag strict_mode)
663 : strict_mode_(strict_mode) { } 655 : strict_mode_(strict_mode) { }
664 656
665 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, 657 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object,
666 int index, 658 int index,
667 Map* transition, 659 Map* transition,
668 String* name); 660 String* name);
669 661
670 MUST_USE_RESULT MaybeObject* CompileStoreSpecialized(JSObject* receiver); 662 MUST_USE_RESULT MaybeObject* CompileStoreSpecialized(JSObject* receiver);
671 663
672 MUST_USE_RESULT MaybeObject* CompileStorePixelArray(JSObject* receiver);
673
674 private: 664 private:
675 MaybeObject* GetCode(PropertyType type, String* name); 665 MaybeObject* GetCode(PropertyType type, String* name);
676 666
677 StrictModeFlag strict_mode_; 667 StrictModeFlag strict_mode_;
678 }; 668 };
679 669
680 670
681 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call 671 // Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call
682 // IC stubs. 672 // IC stubs.
683 #define CUSTOM_CALL_IC_GENERATORS(V) \ 673 #define CUSTOM_CALL_IC_GENERATORS(V) \
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 bool is_simple_api_call_; 818 bool is_simple_api_call_;
829 FunctionTemplateInfo* expected_receiver_type_; 819 FunctionTemplateInfo* expected_receiver_type_;
830 CallHandlerInfo* api_call_info_; 820 CallHandlerInfo* api_call_info_;
831 }; 821 };
832 822
833 class ExternalArrayStubCompiler: public StubCompiler { 823 class ExternalArrayStubCompiler: public StubCompiler {
834 public: 824 public:
835 explicit ExternalArrayStubCompiler() {} 825 explicit ExternalArrayStubCompiler() {}
836 826
837 MUST_USE_RESULT MaybeObject* CompileKeyedLoadStub( 827 MUST_USE_RESULT MaybeObject* CompileKeyedLoadStub(
838 ExternalArrayType array_type, Code::Flags flags); 828 JSObject* receiver, ExternalArrayType array_type, Code::Flags flags);
839 829
840 MUST_USE_RESULT MaybeObject* CompileKeyedStoreStub( 830 MUST_USE_RESULT MaybeObject* CompileKeyedStoreStub(
841 ExternalArrayType array_type, Code::Flags flags); 831 JSObject* receiver, ExternalArrayType array_type, Code::Flags flags);
842 832
843 private: 833 private:
844 MaybeObject* GetCode(Code::Flags flags); 834 MaybeObject* GetCode(Code::Flags flags);
845 }; 835 };
846 836
847 } } // namespace v8::internal 837 } } // namespace v8::internal
848 838
849 #endif // V8_STUB_CACHE_H_ 839 #endif // V8_STUB_CACHE_H_
OLDNEW
« no previous file with comments | « src/spaces.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698