Chromium Code Reviews| 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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 272 | 272 |
| 273 class ElementHandlerCompiler : public PropertyHandlerCompiler { | 273 class ElementHandlerCompiler : public PropertyHandlerCompiler { |
| 274 public: | 274 public: |
| 275 explicit ElementHandlerCompiler(Isolate* isolate) | 275 explicit ElementHandlerCompiler(Isolate* isolate) |
| 276 : PropertyHandlerCompiler(isolate, Code::KEYED_LOAD_IC, | 276 : PropertyHandlerCompiler(isolate, Code::KEYED_LOAD_IC, |
| 277 Handle<Map>::null(), Handle<JSObject>::null(), | 277 Handle<Map>::null(), Handle<JSObject>::null(), |
| 278 kCacheOnReceiver) {} | 278 kCacheOnReceiver) {} |
| 279 | 279 |
| 280 virtual ~ElementHandlerCompiler() {} | 280 virtual ~ElementHandlerCompiler() {} |
| 281 | 281 |
| 282 static Handle<Code> GetKeyedLoadHandler(Handle<Map> receiver_map, | 282 static Handle<Object> GetKeyedLoadHandler(Handle<Map> receiver_map, |
| 283 Isolate* isolate); | 283 Isolate* isolate); |
| 284 void CompileElementHandlers(MapHandleList* receiver_maps, | 284 void CompileElementHandlers(MapHandleList* receiver_maps, |
| 285 List<Handle<Object>>* handlers); | 285 List<Handle<Object>>* handlers); |
| 286 | 286 |
| 287 static void GenerateStoreSlow(MacroAssembler* masm); | 287 static void GenerateStoreSlow(MacroAssembler* masm); |
| 288 | |
| 289 // For Smi-configured KeyedLoadICs loading elements. | |
| 290 class KeyedLoadIsJsarray : public BitField<bool, 1, 1> {}; | |
|
Igor Sheludko
2016/07/28 10:01:11
Maybe KeyedLoadIsJsArray ?
Jakob Kummerow
2016/08/03 11:44:12
Done.
| |
| 291 class KeyedLoadConvertHole : public BitField<bool, 2, 1> {}; | |
| 292 class KeyedLoadElementsKind : public BitField<ElementsKind, 3, 8> {}; | |
| 288 }; | 293 }; |
| 289 } // namespace internal | 294 } // namespace internal |
| 290 } // namespace v8 | 295 } // namespace v8 |
| 291 | 296 |
| 292 #endif // V8_IC_HANDLER_COMPILER_H_ | 297 #endif // V8_IC_HANDLER_COMPILER_H_ |
| OLD | NEW |