OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 Handle<JSFunction> value); | 154 Handle<JSFunction> value); |
155 | 155 |
156 Handle<Code> ComputeKeyedLoadInterceptor(Handle<Name> name, | 156 Handle<Code> ComputeKeyedLoadInterceptor(Handle<Name> name, |
157 Handle<JSObject> object, | 157 Handle<JSObject> object, |
158 Handle<JSObject> holder); | 158 Handle<JSObject> holder); |
159 | 159 |
160 // --- | 160 // --- |
161 | 161 |
162 Handle<Code> ComputeStoreField(Handle<Name> name, | 162 Handle<Code> ComputeStoreField(Handle<Name> name, |
163 Handle<JSObject> object, | 163 Handle<JSObject> object, |
164 int field_index, | 164 LookupResult* lookup, |
165 Handle<Map> transition, | 165 Handle<Map> transition, |
166 StrictModeFlag strict_mode); | 166 StrictModeFlag strict_mode); |
167 | 167 |
168 Handle<Code> ComputeStoreNormal(StrictModeFlag strict_mode); | 168 Handle<Code> ComputeStoreNormal(StrictModeFlag strict_mode); |
169 | 169 |
170 Handle<Code> ComputeStoreGlobal(Handle<Name> name, | 170 Handle<Code> ComputeStoreGlobal(Handle<Name> name, |
171 Handle<GlobalObject> object, | 171 Handle<GlobalObject> object, |
172 Handle<JSGlobalPropertyCell> cell, | 172 Handle<JSGlobalPropertyCell> cell, |
173 StrictModeFlag strict_mode); | 173 StrictModeFlag strict_mode); |
174 | 174 |
(...skipping 10 matching lines...) Expand all Loading... |
185 StrictModeFlag strict_mode); | 185 StrictModeFlag strict_mode); |
186 | 186 |
187 Handle<Code> ComputeStoreInterceptor(Handle<Name> name, | 187 Handle<Code> ComputeStoreInterceptor(Handle<Name> name, |
188 Handle<JSObject> object, | 188 Handle<JSObject> object, |
189 StrictModeFlag strict_mode); | 189 StrictModeFlag strict_mode); |
190 | 190 |
191 // --- | 191 // --- |
192 | 192 |
193 Handle<Code> ComputeKeyedStoreField(Handle<Name> name, | 193 Handle<Code> ComputeKeyedStoreField(Handle<Name> name, |
194 Handle<JSObject> object, | 194 Handle<JSObject> object, |
195 int field_index, | 195 LookupResult* lookup, |
196 Handle<Map> transition, | 196 Handle<Map> transition, |
197 StrictModeFlag strict_mode); | 197 StrictModeFlag strict_mode); |
198 | 198 |
199 Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map); | 199 Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map); |
200 | 200 |
201 Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map, | 201 Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map, |
202 StrictModeFlag strict_mode, | 202 StrictModeFlag strict_mode, |
203 KeyedAccessStoreMode store_mode); | 203 KeyedAccessStoreMode store_mode); |
204 | 204 |
205 // --- | 205 // --- |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 bool support_wrappers); | 504 bool support_wrappers); |
505 | 505 |
506 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, | 506 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, |
507 Register receiver, | 507 Register receiver, |
508 Register scratch1, | 508 Register scratch1, |
509 Register scratch2, | 509 Register scratch2, |
510 Label* miss_label); | 510 Label* miss_label); |
511 | 511 |
512 void GenerateStoreField(MacroAssembler* masm, | 512 void GenerateStoreField(MacroAssembler* masm, |
513 Handle<JSObject> object, | 513 Handle<JSObject> object, |
514 int index, | 514 LookupResult* lookup, |
515 Handle<Map> transition, | 515 Handle<Map> transition, |
516 Handle<Name> name, | 516 Handle<Name> name, |
517 Register receiver_reg, | 517 Register receiver_reg, |
518 Register name_reg, | 518 Register name_reg, |
519 Register value_reg, | 519 Register value_reg, |
520 Register scratch1, | 520 Register scratch1, |
521 Register scratch2, | 521 Register scratch2, |
522 Label* miss_label, | 522 Label* miss_label, |
523 Label* miss_restore_name); | 523 Label* miss_restore_name); |
524 | 524 |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
775 BaseStoreStubCompiler(Isolate* isolate, | 775 BaseStoreStubCompiler(Isolate* isolate, |
776 StrictModeFlag strict_mode, | 776 StrictModeFlag strict_mode, |
777 Register* registers) | 777 Register* registers) |
778 : StubCompiler(isolate), | 778 : StubCompiler(isolate), |
779 strict_mode_(strict_mode), | 779 strict_mode_(strict_mode), |
780 registers_(registers) { } | 780 registers_(registers) { } |
781 | 781 |
782 virtual ~BaseStoreStubCompiler() { } | 782 virtual ~BaseStoreStubCompiler() { } |
783 | 783 |
784 Handle<Code> CompileStoreField(Handle<JSObject> object, | 784 Handle<Code> CompileStoreField(Handle<JSObject> object, |
785 int index, | 785 LookupResult* lookup, |
786 Handle<Map> transition, | 786 Handle<Map> transition, |
787 Handle<Name> name); | 787 Handle<Name> name); |
788 | 788 |
789 protected: | 789 protected: |
790 Handle<Code> GetICCode(Code::Kind kind, | 790 Handle<Code> GetICCode(Code::Kind kind, |
791 Code::StubType type, | 791 Code::StubType type, |
792 Handle<Name> name, | 792 Handle<Name> name, |
793 InlineCacheState state = MONOMORPHIC); | 793 InlineCacheState state = MONOMORPHIC); |
794 | 794 |
795 Handle<Code> GetCode(Code::Kind kind, | 795 Handle<Code> GetCode(Code::Kind kind, |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1077 Handle<JSFunction> constant_function_; | 1077 Handle<JSFunction> constant_function_; |
1078 bool is_simple_api_call_; | 1078 bool is_simple_api_call_; |
1079 Handle<FunctionTemplateInfo> expected_receiver_type_; | 1079 Handle<FunctionTemplateInfo> expected_receiver_type_; |
1080 Handle<CallHandlerInfo> api_call_info_; | 1080 Handle<CallHandlerInfo> api_call_info_; |
1081 }; | 1081 }; |
1082 | 1082 |
1083 | 1083 |
1084 } } // namespace v8::internal | 1084 } } // namespace v8::internal |
1085 | 1085 |
1086 #endif // V8_STUB_CACHE_H_ | 1086 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |