| 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 |