| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 #include "src/ic/accessor-assembler.h" | 5 #include "src/ic/accessor-assembler.h" |
| 6 #include "src/ic/accessor-assembler-impl.h" | 6 #include "src/ic/accessor-assembler-impl.h" |
| 7 | 7 |
| 8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" |
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
| 10 #include "src/ic/handler-configuration.h" | 10 #include "src/ic/handler-configuration.h" |
| (...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 Node* value, | 628 Node* value, |
| 629 Node* transition, | 629 Node* transition, |
| 630 Label* miss) { | 630 Label* miss) { |
| 631 Comment(transition ? "transitioning field store" : "field store"); | 631 Comment(transition ? "transitioning field store" : "field store"); |
| 632 | 632 |
| 633 #ifdef DEBUG | 633 #ifdef DEBUG |
| 634 Node* handler_kind = DecodeWord<StoreHandler::KindBits>(handler_word); | 634 Node* handler_kind = DecodeWord<StoreHandler::KindBits>(handler_word); |
| 635 if (transition) { | 635 if (transition) { |
| 636 CSA_ASSERT( | 636 CSA_ASSERT( |
| 637 this, | 637 this, |
| 638 WordOr(WordEqual(handler_kind, | 638 Word32Or( |
| 639 IntPtrConstant(StoreHandler::kTransitionToField)), | 639 WordEqual(handler_kind, |
| 640 WordEqual(handler_kind, | 640 IntPtrConstant(StoreHandler::kTransitionToField)), |
| 641 IntPtrConstant(StoreHandler::kTransitionToConstant)))); | 641 WordEqual(handler_kind, |
| 642 IntPtrConstant(StoreHandler::kTransitionToConstant)))); |
| 642 } else { | 643 } else { |
| 643 CSA_ASSERT(this, WordEqual(handler_kind, | 644 CSA_ASSERT(this, WordEqual(handler_kind, |
| 644 IntPtrConstant(StoreHandler::kStoreField))); | 645 IntPtrConstant(StoreHandler::kStoreField))); |
| 645 } | 646 } |
| 646 #endif | 647 #endif |
| 647 | 648 |
| 648 Node* field_representation = | 649 Node* field_representation = |
| 649 DecodeWord<StoreHandler::FieldRepresentationBits>(handler_word); | 650 DecodeWord<StoreHandler::FieldRepresentationBits>(handler_word); |
| 650 | 651 |
| 651 Label if_smi_field(this), if_double_field(this), if_heap_object_field(this), | 652 Label if_smi_field(this), if_double_field(this), if_heap_object_field(this), |
| (...skipping 1166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1818 void AccessorAssembler::GenerateKeyedStoreICTrampolineTF( | 1819 void AccessorAssembler::GenerateKeyedStoreICTrampolineTF( |
| 1819 CodeAssemblerState* state, LanguageMode language_mode) { | 1820 CodeAssemblerState* state, LanguageMode language_mode) { |
| 1820 AccessorAssemblerImpl assembler(state); | 1821 AccessorAssemblerImpl assembler(state); |
| 1821 assembler.GenerateKeyedStoreICTrampolineTF(language_mode); | 1822 assembler.GenerateKeyedStoreICTrampolineTF(language_mode); |
| 1822 } | 1823 } |
| 1823 | 1824 |
| 1824 #undef ACCESSOR_ASSEMBLER_PUBLIC_INTERFACE | 1825 #undef ACCESSOR_ASSEMBLER_PUBLIC_INTERFACE |
| 1825 | 1826 |
| 1826 } // namespace internal | 1827 } // namespace internal |
| 1827 } // namespace v8 | 1828 } // namespace v8 |
| OLD | NEW |