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

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

Issue 8341008: Handlify upper layers of StoreIC based on 8337008. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebased. Created 9 years, 2 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/ic.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 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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadStringLength( 137 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadStringLength(
138 String* name, 138 String* name,
139 String* receiver); 139 String* receiver);
140 140
141 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadFunctionPrototype( 141 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadFunctionPrototype(
142 String* name, 142 String* name,
143 JSFunction* receiver); 143 JSFunction* receiver);
144 144
145 // --- 145 // ---
146 146
147 MUST_USE_RESULT MaybeObject* ComputeStoreField( 147 Handle<Code> ComputeStoreField(Handle<String> name,
148 String* name, 148 Handle<JSObject> receiver,
149 JSObject* receiver, 149 int field_index,
150 int field_index, 150 Handle<Map> transition,
151 Map* transition, 151 StrictModeFlag strict_mode);
152 StrictModeFlag strict_mode);
153 152
154 MUST_USE_RESULT MaybeObject* ComputeStoreNormal( 153 Handle<Code> ComputeStoreNormal(StrictModeFlag strict_mode);
155 StrictModeFlag strict_mode);
156 154
157 MUST_USE_RESULT MaybeObject* ComputeStoreGlobal( 155 Handle<Code> ComputeStoreGlobal(Handle<String> name,
158 String* name, 156 Handle<GlobalObject> receiver,
159 GlobalObject* receiver, 157 Handle<JSGlobalPropertyCell> cell,
160 JSGlobalPropertyCell* cell, 158 StrictModeFlag strict_mode);
161 StrictModeFlag strict_mode);
162 159
163 MUST_USE_RESULT MaybeObject* ComputeStoreCallback( 160 Handle<Code> ComputeStoreCallback(Handle<String> name,
164 String* name, 161 Handle<JSObject> receiver,
165 JSObject* receiver, 162 Handle<AccessorInfo> callback,
166 AccessorInfo* callback, 163 StrictModeFlag strict_mode);
167 StrictModeFlag strict_mode);
168 164
169 MUST_USE_RESULT MaybeObject* ComputeStoreInterceptor( 165 Handle<Code> ComputeStoreInterceptor(Handle<String> name,
170 String* name, 166 Handle<JSObject> receiver,
171 JSObject* receiver, 167 StrictModeFlag strict_mode);
172 StrictModeFlag strict_mode);
173 168
174 // --- 169 // ---
175 170
176 MUST_USE_RESULT MaybeObject* ComputeKeyedStoreField( 171 MUST_USE_RESULT MaybeObject* ComputeKeyedStoreField(
177 String* name, 172 String* name,
178 JSObject* receiver, 173 JSObject* receiver,
179 int field_index, 174 int field_index,
180 Map* transition, 175 Map* transition,
181 StrictModeFlag strict_mode); 176 StrictModeFlag strict_mode);
182 177
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 String* name, 681 String* name,
687 InlineCacheState state = MONOMORPHIC); 682 InlineCacheState state = MONOMORPHIC);
688 }; 683 };
689 684
690 685
691 class StoreStubCompiler: public StubCompiler { 686 class StoreStubCompiler: public StubCompiler {
692 public: 687 public:
693 StoreStubCompiler(Isolate* isolate, StrictModeFlag strict_mode) 688 StoreStubCompiler(Isolate* isolate, StrictModeFlag strict_mode)
694 : StubCompiler(isolate), strict_mode_(strict_mode) { } 689 : StubCompiler(isolate), strict_mode_(strict_mode) { }
695 690
691
692 Handle<Code> CompileStoreField(Handle<JSObject> object,
693 int index,
694 Handle<Map> transition,
695 Handle<String> name);
696
696 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, 697 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object,
697 int index, 698 int index,
698 Map* transition, 699 Map* transition,
699 String* name); 700 String* name);
700 701
702 Handle<Code> CompileStoreCallback(Handle<JSObject> object,
703 Handle<AccessorInfo> callback,
704 Handle<String> name);
705
701 MUST_USE_RESULT MaybeObject* CompileStoreCallback(JSObject* object, 706 MUST_USE_RESULT MaybeObject* CompileStoreCallback(JSObject* object,
702 AccessorInfo* callbacks, 707 AccessorInfo* callback,
703 String* name); 708 String* name);
709 Handle<Code> CompileStoreInterceptor(Handle<JSObject> object,
710 Handle<String> name);
711
704 MUST_USE_RESULT MaybeObject* CompileStoreInterceptor(JSObject* object, 712 MUST_USE_RESULT MaybeObject* CompileStoreInterceptor(JSObject* object,
705 String* name); 713 String* name);
714
715 Handle<Code> CompileStoreGlobal(Handle<GlobalObject> object,
716 Handle<JSGlobalPropertyCell> holder,
717 Handle<String> name);
718
706 MUST_USE_RESULT MaybeObject* CompileStoreGlobal(GlobalObject* object, 719 MUST_USE_RESULT MaybeObject* CompileStoreGlobal(GlobalObject* object,
707 JSGlobalPropertyCell* holder, 720 JSGlobalPropertyCell* holder,
708 String* name); 721 String* name);
709 722
710 723
711 private: 724 private:
712 MaybeObject* GetCode(PropertyType type, String* name); 725 MaybeObject* GetCode(PropertyType type, String* name);
713 726
714 StrictModeFlag strict_mode_; 727 StrictModeFlag strict_mode_;
715 }; 728 };
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 JSFunction* constant_function_; 930 JSFunction* constant_function_;
918 bool is_simple_api_call_; 931 bool is_simple_api_call_;
919 FunctionTemplateInfo* expected_receiver_type_; 932 FunctionTemplateInfo* expected_receiver_type_;
920 CallHandlerInfo* api_call_info_; 933 CallHandlerInfo* api_call_info_;
921 }; 934 };
922 935
923 936
924 } } // namespace v8::internal 937 } } // namespace v8::internal
925 938
926 #endif // V8_STUB_CACHE_H_ 939 #endif // V8_STUB_CACHE_H_
OLDNEW
« no previous file with comments | « src/ic.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698