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

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

Issue 8375053: Handlify CompileLoadGlobal, CompileLoadElement, CompileLoadPolymorphic. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: 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 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object, 620 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object,
621 JSObject* holder, 621 JSObject* holder,
622 String* name); 622 String* name);
623 623
624 Handle<Code> CompileLoadGlobal(Handle<JSObject> object, 624 Handle<Code> CompileLoadGlobal(Handle<JSObject> object,
625 Handle<GlobalObject> holder, 625 Handle<GlobalObject> holder,
626 Handle<JSGlobalPropertyCell> cell, 626 Handle<JSGlobalPropertyCell> cell,
627 Handle<String> name, 627 Handle<String> name,
628 bool is_dont_delete); 628 bool is_dont_delete);
629 629
630 MUST_USE_RESULT MaybeObject* CompileLoadGlobal(JSObject* object,
631 GlobalObject* holder,
632 JSGlobalPropertyCell* cell,
633 String* name,
634 bool is_dont_delete);
635
636 private: 630 private:
637 MUST_USE_RESULT MaybeObject* TryGetCode(PropertyType type, String* name); 631 MUST_USE_RESULT MaybeObject* TryGetCode(PropertyType type, String* name);
638 632
639 Handle<Code> GetCode(PropertyType type, Handle<String> name); 633 Handle<Code> GetCode(PropertyType type, Handle<String> name);
640 }; 634 };
641 635
642 636
643 class KeyedLoadStubCompiler: public StubCompiler { 637 class KeyedLoadStubCompiler: public StubCompiler {
644 public: 638 public:
645 explicit KeyedLoadStubCompiler(Isolate* isolate) : StubCompiler(isolate) { } 639 explicit KeyedLoadStubCompiler(Isolate* isolate) : StubCompiler(isolate) { }
(...skipping 27 matching lines...) Expand all
673 String* name); 667 String* name);
674 668
675 Handle<Code> CompileLoadArrayLength(Handle<String> name); 669 Handle<Code> CompileLoadArrayLength(Handle<String> name);
676 670
677 Handle<Code> CompileLoadStringLength(Handle<String> name); 671 Handle<Code> CompileLoadStringLength(Handle<String> name);
678 672
679 Handle<Code> CompileLoadFunctionPrototype(Handle<String> name); 673 Handle<Code> CompileLoadFunctionPrototype(Handle<String> name);
680 674
681 Handle<Code> CompileLoadElement(Handle<Map> receiver_map); 675 Handle<Code> CompileLoadElement(Handle<Map> receiver_map);
682 676
683 MUST_USE_RESULT MaybeObject* CompileLoadElement(Map* receiver_map);
684
685 Handle<Code> CompileLoadPolymorphic(MapHandleList* receiver_maps, 677 Handle<Code> CompileLoadPolymorphic(MapHandleList* receiver_maps,
686 CodeHandleList* handler_ics); 678 CodeHandleList* handler_ics);
687 679
688 MUST_USE_RESULT MaybeObject* CompileLoadPolymorphic(
689 MapList* receiver_maps,
690 CodeList* handler_ics);
691
692 static void GenerateLoadExternalArray(MacroAssembler* masm, 680 static void GenerateLoadExternalArray(MacroAssembler* masm,
693 ElementsKind elements_kind); 681 ElementsKind elements_kind);
694 682
695 static void GenerateLoadFastElement(MacroAssembler* masm); 683 static void GenerateLoadFastElement(MacroAssembler* masm);
696 684
697 static void GenerateLoadFastDoubleElement(MacroAssembler* masm); 685 static void GenerateLoadFastDoubleElement(MacroAssembler* masm);
698 686
699 static void GenerateLoadDictionaryElement(MacroAssembler* masm); 687 static void GenerateLoadDictionaryElement(MacroAssembler* masm);
700 688
701 private: 689 private:
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 JSFunction* constant_function_; 972 JSFunction* constant_function_;
985 bool is_simple_api_call_; 973 bool is_simple_api_call_;
986 FunctionTemplateInfo* expected_receiver_type_; 974 FunctionTemplateInfo* expected_receiver_type_;
987 CallHandlerInfo* api_call_info_; 975 CallHandlerInfo* api_call_info_;
988 }; 976 };
989 977
990 978
991 } } // namespace v8::internal 979 } } // namespace v8::internal
992 980
993 #endif // V8_STUB_CACHE_H_ 981 #endif // V8_STUB_CACHE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698