OLD | NEW |
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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 Handle<Code> ComputeLoadNormal(); | 101 Handle<Code> ComputeLoadNormal(); |
102 | 102 |
103 Handle<Code> ComputeLoadGlobal(Handle<String> name, | 103 Handle<Code> ComputeLoadGlobal(Handle<String> name, |
104 Handle<JSObject> receiver, | 104 Handle<JSObject> receiver, |
105 Handle<GlobalObject> holder, | 105 Handle<GlobalObject> holder, |
106 Handle<JSGlobalPropertyCell> cell, | 106 Handle<JSGlobalPropertyCell> cell, |
107 bool is_dont_delete); | 107 bool is_dont_delete); |
108 | 108 |
109 // --- | 109 // --- |
110 | 110 |
111 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadField(String* name, | 111 Handle<Code> ComputeKeyedLoadField(Handle<String> name, |
112 JSObject* receiver, | 112 Handle<JSObject> receiver, |
113 JSObject* holder, | 113 Handle<JSObject> holder, |
114 int field_index); | 114 int field_index); |
115 | 115 |
116 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadCallback( | 116 Handle<Code> ComputeKeyedLoadCallback(Handle<String> name, |
117 String* name, | 117 Handle<JSObject> receiver, |
118 JSObject* receiver, | 118 Handle<JSObject> holder, |
119 JSObject* holder, | 119 Handle<AccessorInfo> callback); |
120 AccessorInfo* callback); | |
121 | 120 |
122 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadConstant( | 121 Handle<Code> ComputeKeyedLoadConstant(Handle<String> name, |
123 String* name, | 122 Handle<JSObject> receiver, |
124 JSObject* receiver, | 123 Handle<JSObject> holder, |
125 JSObject* holder, | 124 Handle<Object> value); |
126 Object* value); | |
127 | 125 |
128 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadInterceptor( | 126 Handle<Code> ComputeKeyedLoadInterceptor(Handle<String> name, |
129 String* name, | 127 Handle<JSObject> receiver, |
130 JSObject* receiver, | 128 Handle<JSObject> holder); |
131 JSObject* holder); | |
132 | 129 |
133 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadArrayLength( | 130 Handle<Code> ComputeKeyedLoadArrayLength(Handle<String> name, |
134 String* name, | 131 Handle<JSArray> receiver); |
135 JSArray* receiver); | |
136 | 132 |
137 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadStringLength( | 133 Handle<Code> ComputeKeyedLoadStringLength(Handle<String> name, |
138 String* name, | 134 Handle<String> receiver); |
139 String* receiver); | |
140 | 135 |
141 MUST_USE_RESULT MaybeObject* ComputeKeyedLoadFunctionPrototype( | 136 Handle<Code> ComputeKeyedLoadFunctionPrototype(Handle<String> name, |
142 String* name, | 137 Handle<JSFunction> receiver); |
143 JSFunction* receiver); | |
144 | 138 |
145 // --- | 139 // --- |
146 | 140 |
147 Handle<Code> ComputeStoreField(Handle<String> name, | 141 Handle<Code> ComputeStoreField(Handle<String> name, |
148 Handle<JSObject> receiver, | 142 Handle<JSObject> receiver, |
149 int field_index, | 143 int field_index, |
150 Handle<Map> transition, | 144 Handle<Map> transition, |
151 StrictModeFlag strict_mode); | 145 StrictModeFlag strict_mode); |
152 | 146 |
153 Handle<Code> ComputeStoreNormal(StrictModeFlag strict_mode); | 147 Handle<Code> ComputeStoreNormal(StrictModeFlag strict_mode); |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 bool is_dont_delete); | 625 bool is_dont_delete); |
632 | 626 |
633 private: | 627 private: |
634 MUST_USE_RESULT MaybeObject* GetCode(PropertyType type, String* name); | 628 MUST_USE_RESULT MaybeObject* GetCode(PropertyType type, String* name); |
635 }; | 629 }; |
636 | 630 |
637 | 631 |
638 class KeyedLoadStubCompiler: public StubCompiler { | 632 class KeyedLoadStubCompiler: public StubCompiler { |
639 public: | 633 public: |
640 explicit KeyedLoadStubCompiler(Isolate* isolate) : StubCompiler(isolate) { } | 634 explicit KeyedLoadStubCompiler(Isolate* isolate) : StubCompiler(isolate) { } |
| 635 |
| 636 Handle<Code> CompileLoadField(Handle<String> name, |
| 637 Handle<JSObject> object, |
| 638 Handle<JSObject> holder, |
| 639 int index); |
| 640 |
641 MUST_USE_RESULT MaybeObject* CompileLoadField(String* name, | 641 MUST_USE_RESULT MaybeObject* CompileLoadField(String* name, |
642 JSObject* object, | 642 JSObject* object, |
643 JSObject* holder, | 643 JSObject* holder, |
644 int index); | 644 int index); |
645 | 645 |
| 646 Handle<Code> CompileLoadCallback(Handle<String> name, |
| 647 Handle<JSObject> object, |
| 648 Handle<JSObject> holder, |
| 649 Handle<AccessorInfo> callback); |
| 650 |
646 MUST_USE_RESULT MaybeObject* CompileLoadCallback(String* name, | 651 MUST_USE_RESULT MaybeObject* CompileLoadCallback(String* name, |
647 JSObject* object, | 652 JSObject* object, |
648 JSObject* holder, | 653 JSObject* holder, |
649 AccessorInfo* callback); | 654 AccessorInfo* callback); |
650 | 655 |
| 656 Handle<Code> CompileLoadConstant(Handle<String> name, |
| 657 Handle<JSObject> object, |
| 658 Handle<JSObject> holder, |
| 659 Handle<Object> value); |
| 660 |
651 MUST_USE_RESULT MaybeObject* CompileLoadConstant(String* name, | 661 MUST_USE_RESULT MaybeObject* CompileLoadConstant(String* name, |
652 JSObject* object, | 662 JSObject* object, |
653 JSObject* holder, | 663 JSObject* holder, |
654 Object* value); | 664 Object* value); |
655 | 665 |
| 666 Handle<Code> CompileLoadInterceptor(Handle<JSObject> object, |
| 667 Handle<JSObject> holder, |
| 668 Handle<String> name); |
| 669 |
656 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object, | 670 MUST_USE_RESULT MaybeObject* CompileLoadInterceptor(JSObject* object, |
657 JSObject* holder, | 671 JSObject* holder, |
658 String* name); | 672 String* name); |
659 | 673 |
| 674 Handle<Code> CompileLoadArrayLength(Handle<String> name); |
| 675 |
660 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name); | 676 MUST_USE_RESULT MaybeObject* CompileLoadArrayLength(String* name); |
| 677 |
| 678 Handle<Code> CompileLoadStringLength(Handle<String> name); |
| 679 |
661 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name); | 680 MUST_USE_RESULT MaybeObject* CompileLoadStringLength(String* name); |
| 681 |
| 682 Handle<Code> CompileLoadFunctionPrototype(Handle<String> name); |
| 683 |
662 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name); | 684 MUST_USE_RESULT MaybeObject* CompileLoadFunctionPrototype(String* name); |
663 | 685 |
664 MUST_USE_RESULT MaybeObject* CompileLoadElement(Map* receiver_map); | 686 MUST_USE_RESULT MaybeObject* CompileLoadElement(Map* receiver_map); |
665 | 687 |
666 MUST_USE_RESULT MaybeObject* CompileLoadPolymorphic( | 688 MUST_USE_RESULT MaybeObject* CompileLoadPolymorphic( |
667 MapList* receiver_maps, | 689 MapList* receiver_maps, |
668 CodeList* handler_ics); | 690 CodeList* handler_ics); |
669 | 691 |
670 static void GenerateLoadExternalArray(MacroAssembler* masm, | 692 static void GenerateLoadExternalArray(MacroAssembler* masm, |
671 ElementsKind elements_kind); | 693 ElementsKind elements_kind); |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 JSFunction* constant_function_; | 952 JSFunction* constant_function_; |
931 bool is_simple_api_call_; | 953 bool is_simple_api_call_; |
932 FunctionTemplateInfo* expected_receiver_type_; | 954 FunctionTemplateInfo* expected_receiver_type_; |
933 CallHandlerInfo* api_call_info_; | 955 CallHandlerInfo* api_call_info_; |
934 }; | 956 }; |
935 | 957 |
936 | 958 |
937 } } // namespace v8::internal | 959 } } // namespace v8::internal |
938 | 960 |
939 #endif // V8_STUB_CACHE_H_ | 961 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |