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 #ifndef V8_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 void Increment(Variable& variable, int value = 1, | 783 void Increment(Variable& variable, int value = 1, |
784 ParameterMode mode = INTPTR_PARAMETERS); | 784 ParameterMode mode = INTPTR_PARAMETERS); |
785 | 785 |
786 // Generates "if (false) goto label" code. Useful for marking a label as | 786 // Generates "if (false) goto label" code. Useful for marking a label as |
787 // "live" to avoid assertion failures during graph building. In the resulting | 787 // "live" to avoid assertion failures during graph building. In the resulting |
788 // code this check will be eliminated. | 788 // code this check will be eliminated. |
789 void Use(Label* label); | 789 void Use(Label* label); |
790 | 790 |
791 // Various building blocks for stubs doing property lookups. | 791 // Various building blocks for stubs doing property lookups. |
792 void TryToName(Node* key, Label* if_keyisindex, Variable* var_index, | 792 void TryToName(Node* key, Label* if_keyisindex, Variable* var_index, |
793 Label* if_keyisunique, Label* if_bailout); | 793 Label* if_keyisunique, Variable* var_unique, |
| 794 Label* if_bailout); |
794 | 795 |
795 // Calculates array index for given dictionary entry and entry field. | 796 // Calculates array index for given dictionary entry and entry field. |
796 // See Dictionary::EntryToIndex(). | 797 // See Dictionary::EntryToIndex(). |
797 template <typename Dictionary> | 798 template <typename Dictionary> |
798 Node* EntryToIndex(Node* entry, int field_index); | 799 Node* EntryToIndex(Node* entry, int field_index); |
799 template <typename Dictionary> | 800 template <typename Dictionary> |
800 Node* EntryToIndex(Node* entry) { | 801 Node* EntryToIndex(Node* entry) { |
801 return EntryToIndex<Dictionary>(entry, Dictionary::kEntryKeyIndex); | 802 return EntryToIndex<Dictionary>(entry, Dictionary::kEntryKeyIndex); |
802 } | 803 } |
803 // Calculate a valid size for the a hash table. | 804 // Calculate a valid size for the a hash table. |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1206 } | 1207 } |
1207 #else | 1208 #else |
1208 #define CSA_SLOW_ASSERT(csa, x) ((void)0) | 1209 #define CSA_SLOW_ASSERT(csa, x) ((void)0) |
1209 #endif | 1210 #endif |
1210 | 1211 |
1211 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 1212 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
1212 | 1213 |
1213 } // namespace internal | 1214 } // namespace internal |
1214 } // namespace v8 | 1215 } // namespace v8 |
1215 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 1216 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |