OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_IC_HANDLER_COMPILER_H_ | 5 #ifndef V8_IC_HANDLER_COMPILER_H_ |
6 #define V8_IC_HANDLER_COMPILER_H_ | 6 #define V8_IC_HANDLER_COMPILER_H_ |
7 | 7 |
8 #include "src/ic/access-compiler.h" | 8 #include "src/ic/access-compiler.h" |
9 #include "src/ic/ic-state.h" | 9 #include "src/ic/ic-state.h" |
10 | 10 |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 // context we were in when this function was called. If the context | 198 // context we were in when this function was called. If the context |
199 // has changed, a jump to miss is performed. This ties the generated | 199 // has changed, a jump to miss is performed. This ties the generated |
200 // code to a particular context and so must not be used in cases | 200 // code to a particular context and so must not be used in cases |
201 // where the generated code is not allowed to have references to | 201 // where the generated code is not allowed to have references to |
202 // objects from a context. | 202 // objects from a context. |
203 static void GenerateDirectLoadGlobalFunctionPrototype(MacroAssembler* masm, | 203 static void GenerateDirectLoadGlobalFunctionPrototype(MacroAssembler* masm, |
204 int index, | 204 int index, |
205 Register prototype, | 205 Register prototype, |
206 Label* miss); | 206 Label* miss); |
207 | 207 |
208 | 208 Register scratch3() { return registers_[4]; } |
209 Register scratch4() { return registers_[5]; } | |
210 }; | 209 }; |
211 | 210 |
212 | 211 |
213 class NamedStoreHandlerCompiler : public PropertyHandlerCompiler { | 212 class NamedStoreHandlerCompiler : public PropertyHandlerCompiler { |
214 public: | 213 public: |
215 explicit NamedStoreHandlerCompiler(Isolate* isolate, Handle<Map> map, | 214 explicit NamedStoreHandlerCompiler(Isolate* isolate, Handle<Map> map, |
216 Handle<JSObject> holder) | 215 Handle<JSObject> holder) |
217 : PropertyHandlerCompiler(isolate, Code::STORE_IC, map, holder, | 216 : PropertyHandlerCompiler(isolate, Code::STORE_IC, map, holder, |
218 kCacheOnReceiver) {} | 217 kCacheOnReceiver) {} |
219 | 218 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 | 294 |
296 void CompileElementHandlers(MapHandleList* receiver_maps, | 295 void CompileElementHandlers(MapHandleList* receiver_maps, |
297 CodeHandleList* handlers); | 296 CodeHandleList* handlers); |
298 | 297 |
299 static void GenerateStoreSlow(MacroAssembler* masm); | 298 static void GenerateStoreSlow(MacroAssembler* masm); |
300 }; | 299 }; |
301 } // namespace internal | 300 } // namespace internal |
302 } // namespace v8 | 301 } // namespace v8 |
303 | 302 |
304 #endif // V8_IC_HANDLER_COMPILER_H_ | 303 #endif // V8_IC_HANDLER_COMPILER_H_ |
OLD | NEW |