OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_H_ | 5 #ifndef V8_IC_H_ |
6 #define V8_IC_H_ | 6 #define V8_IC_H_ |
7 | 7 |
8 #include "src/ic/ic-state.h" | 8 #include "src/ic/ic-state.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 | 10 |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 // ExtraICState bits (building on IC) | 540 // ExtraICState bits (building on IC) |
541 // ExtraICState bits | 541 // ExtraICState bits |
542 class ExtraICStateKeyedAccessStoreMode | 542 class ExtraICStateKeyedAccessStoreMode |
543 : public BitField<KeyedAccessStoreMode, 2, 4> {}; // NOLINT | 543 : public BitField<KeyedAccessStoreMode, 2, 4> {}; // NOLINT |
544 | 544 |
545 class IcCheckTypeField : public BitField<IcCheckType, 6, 1> {}; | 545 class IcCheckTypeField : public BitField<IcCheckType, 6, 1> {}; |
546 | 546 |
547 static ExtraICState ComputeExtraICState(StrictMode flag, | 547 static ExtraICState ComputeExtraICState(StrictMode flag, |
548 KeyedAccessStoreMode mode) { | 548 KeyedAccessStoreMode mode) { |
549 return StrictModeState::encode(flag) | | 549 return StrictModeState::encode(flag) | |
550 ExtraICStateKeyedAccessStoreMode::encode(mode); | 550 ExtraICStateKeyedAccessStoreMode::encode(mode) | |
| 551 IcCheckTypeField::encode(ELEMENT); |
551 } | 552 } |
552 | 553 |
553 static KeyedAccessStoreMode GetKeyedAccessStoreMode( | 554 static KeyedAccessStoreMode GetKeyedAccessStoreMode( |
554 ExtraICState extra_state) { | 555 ExtraICState extra_state) { |
555 return ExtraICStateKeyedAccessStoreMode::decode(extra_state); | 556 return ExtraICStateKeyedAccessStoreMode::decode(extra_state); |
556 } | 557 } |
557 | 558 |
558 static IcCheckType GetKeyType(ExtraICState extra_state) { | 559 static IcCheckType GetKeyType(ExtraICState extra_state) { |
559 return IcCheckTypeField::decode(extra_state); | 560 return IcCheckTypeField::decode(extra_state); |
560 } | 561 } |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 | 705 |
705 // Support functions for interceptor handlers. | 706 // Support functions for interceptor handlers. |
706 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly); | 707 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptorOnly); |
707 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptor); | 708 DECLARE_RUNTIME_FUNCTION(LoadPropertyWithInterceptor); |
708 DECLARE_RUNTIME_FUNCTION(LoadElementWithInterceptor); | 709 DECLARE_RUNTIME_FUNCTION(LoadElementWithInterceptor); |
709 DECLARE_RUNTIME_FUNCTION(StorePropertyWithInterceptor); | 710 DECLARE_RUNTIME_FUNCTION(StorePropertyWithInterceptor); |
710 } | 711 } |
711 } // namespace v8::internal | 712 } // namespace v8::internal |
712 | 713 |
713 #endif // V8_IC_H_ | 714 #endif // V8_IC_H_ |
OLD | NEW |