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

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

Issue 8356041: Handlify KeyedIC::ComputeStub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebase and address comments. 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
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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 StrictModeFlag strict_mode); 161 StrictModeFlag strict_mode);
162 162
163 // --- 163 // ---
164 164
165 Handle<Code> ComputeKeyedStoreField(Handle<String> name, 165 Handle<Code> ComputeKeyedStoreField(Handle<String> name,
166 Handle<JSObject> receiver, 166 Handle<JSObject> receiver,
167 int field_index, 167 int field_index,
168 Handle<Map> transition, 168 Handle<Map> transition,
169 StrictModeFlag strict_mode); 169 StrictModeFlag strict_mode);
170 170
171 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadOrStoreElement( 171 Handle<Code> ComputeKeyedLoadOrStoreElement(Handle<JSObject> receiver,
172 JSObject* receiver, 172 KeyedIC::StubKind stub_kind,
173 KeyedIC::StubKind stub_kind, 173 StrictModeFlag strict_mode);
174 StrictModeFlag strict_mode);
175 174
176 // --- 175 // ---
177 176
178 Handle<Code> ComputeCallField(int argc, 177 Handle<Code> ComputeCallField(int argc,
179 Code::Kind, 178 Code::Kind,
180 Code::ExtraICState extra_state, 179 Code::ExtraICState extra_state,
181 Handle<String> name, 180 Handle<String> name,
182 Handle<Object> object, 181 Handle<Object> object,
183 Handle<JSObject> holder, 182 Handle<JSObject> holder,
184 int index); 183 int index);
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name); 678 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name);
680 679
681 Handle<Code> CompileLoadStringLength(Handle<String> name); 680 Handle<Code> CompileLoadStringLength(Handle<String> name);
682 681
683 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name); 682 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name);
684 683
685 Handle<Code> CompileLoadFunctionPrototype(Handle<String> name); 684 Handle<Code> CompileLoadFunctionPrototype(Handle<String> name);
686 685
687 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name); 686 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name);
688 687
688 Handle<Code> CompileLoadElement(Handle<Map> receiver_map);
689
689 MUST_USE_RESULT MaybeObject* CompileLoadElement(Map* receiver_map); 690 MUST_USE_RESULT MaybeObject* CompileLoadElement(Map* receiver_map);
690 691
692 Handle<Code> CompileLoadPolymorphic(MapHandleList* receiver_maps,
693 CodeHandleList* handler_ics);
694
691 MUST_USE_RESULT MaybeObject* CompileLoadPolymorphic( 695 MUST_USE_RESULT MaybeObject* CompileLoadPolymorphic(
692 MapList* receiver_maps, 696 MapList* receiver_maps,
693 CodeList* handler_ics); 697 CodeList* handler_ics);
694 698
695 static void GenerateLoadExternalArray(MacroAssembler* masm, 699 static void GenerateLoadExternalArray(MacroAssembler* masm,
696 ElementsKind elements_kind); 700 ElementsKind elements_kind);
697 701
698 static void GenerateLoadFastElement(MacroAssembler* masm); 702 static void GenerateLoadFastElement(MacroAssembler* masm);
699 703
700 static void GenerateLoadFastDoubleElement(MacroAssembler* masm); 704 static void GenerateLoadFastDoubleElement(MacroAssembler* masm);
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 Handle<Code> CompileStoreField(Handle<JSObject> object, 765 Handle<Code> CompileStoreField(Handle<JSObject> object,
762 int index, 766 int index,
763 Handle<Map> transition, 767 Handle<Map> transition,
764 Handle<String> name); 768 Handle<String> name);
765 769
766 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object, 770 MUST_USE_RESULT MaybeObject* CompileStoreField(JSObject* object,
767 int index, 771 int index,
768 Map* transition, 772 Map* transition,
769 String* name); 773 String* name);
770 774
775 Handle<Code> CompileStoreElement(Handle<Map> receiver_map);
776
771 MUST_USE_RESULT MaybeObject* CompileStoreElement(Map* receiver_map); 777 MUST_USE_RESULT MaybeObject* CompileStoreElement(Map* receiver_map);
772 778
779 Handle<Code> CompileStorePolymorphic(MapHandleList* receiver_maps,
780 CodeHandleList* handler_stubs,
781 MapHandleList* transitioned_maps);
782
773 MUST_USE_RESULT MaybeObject* CompileStorePolymorphic( 783 MUST_USE_RESULT MaybeObject* CompileStorePolymorphic(
774 MapList* receiver_maps, 784 MapList* receiver_maps,
775 CodeList* handler_stubs, 785 CodeList* handler_stubs,
776 MapList* transitioned_maps); 786 MapList* transitioned_maps);
777 787
778 static void GenerateStoreFastElement(MacroAssembler* masm, 788 static void GenerateStoreFastElement(MacroAssembler* masm,
779 bool is_js_array, 789 bool is_js_array,
780 ElementsKind element_kind); 790 ElementsKind element_kind);
781 791
782 static void GenerateStoreFastDoubleElement(MacroAssembler* masm, 792 static void GenerateStoreFastDoubleElement(MacroAssembler* masm,
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 JSFunction* constant_function_; 987 JSFunction* constant_function_;
978 bool is_simple_api_call_; 988 bool is_simple_api_call_;
979 FunctionTemplateInfo* expected_receiver_type_; 989 FunctionTemplateInfo* expected_receiver_type_;
980 CallHandlerInfo* api_call_info_; 990 CallHandlerInfo* api_call_info_;
981 }; 991 };
982 992
983 993
984 } } // namespace v8::internal 994 } } // namespace v8::internal
985 995
986 #endif // V8_STUB_CACHE_H_ 996 #endif // V8_STUB_CACHE_H_
OLDNEW
« src/objects.cc ('K') | « src/objects.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698