| 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 #include "src/code-stub-assembler.h" | 4 #include "src/code-stub-assembler.h" |
| 5 #include "src/code-factory.h" | 5 #include "src/code-factory.h" |
| 6 #include "src/frames-inl.h" | 6 #include "src/frames-inl.h" |
| 7 #include "src/frames.h" | 7 #include "src/frames.h" |
| 8 | 8 |
| 9 namespace v8 { | 9 namespace v8 { |
| 10 namespace internal { | 10 namespace internal { |
| (...skipping 4599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4610 StoreFixedArrayElement(dictionary, index, name); | 4610 StoreFixedArrayElement(dictionary, index, name); |
| 4611 const int kNameToValueOffset = | 4611 const int kNameToValueOffset = |
| 4612 (NameDictionary::kEntryValueIndex - NameDictionary::kEntryKeyIndex) * | 4612 (NameDictionary::kEntryValueIndex - NameDictionary::kEntryKeyIndex) * |
| 4613 kPointerSize; | 4613 kPointerSize; |
| 4614 StoreFixedArrayElement(dictionary, index, value, UPDATE_WRITE_BARRIER, | 4614 StoreFixedArrayElement(dictionary, index, value, UPDATE_WRITE_BARRIER, |
| 4615 kNameToValueOffset); | 4615 kNameToValueOffset); |
| 4616 | 4616 |
| 4617 // Prepare details of the new property. | 4617 // Prepare details of the new property. |
| 4618 Variable var_details(this, MachineRepresentation::kTaggedSigned); | 4618 Variable var_details(this, MachineRepresentation::kTaggedSigned); |
| 4619 const int kInitialIndex = 0; | 4619 const int kInitialIndex = 0; |
| 4620 PropertyDetails d(NONE, DATA, kInitialIndex, PropertyCellType::kNoCell); | 4620 PropertyDetails d(kData, NONE, kInitialIndex, PropertyCellType::kNoCell); |
| 4621 enum_index = | 4621 enum_index = |
| 4622 SmiShl(enum_index, PropertyDetails::DictionaryStorageField::kShift); | 4622 SmiShl(enum_index, PropertyDetails::DictionaryStorageField::kShift); |
| 4623 STATIC_ASSERT(kInitialIndex == 0); | 4623 STATIC_ASSERT(kInitialIndex == 0); |
| 4624 var_details.Bind(SmiOr(SmiConstant(d.AsSmi()), enum_index)); | 4624 var_details.Bind(SmiOr(SmiConstant(d.AsSmi()), enum_index)); |
| 4625 | 4625 |
| 4626 // Private names must be marked non-enumerable. | 4626 // Private names must be marked non-enumerable. |
| 4627 Label not_private(this, &var_details); | 4627 Label not_private(this, &var_details); |
| 4628 GotoUnless(IsSymbolMap(LoadMap(name)), ¬_private); | 4628 GotoUnless(IsSymbolMap(LoadMap(name)), ¬_private); |
| 4629 Node* flags = SmiToWord32(LoadObjectField(name, Symbol::kFlagsOffset)); | 4629 Node* flags = SmiToWord32(LoadObjectField(name, Symbol::kFlagsOffset)); |
| 4630 const int kPrivateMask = 1 << Symbol::kPrivateBit; | 4630 const int kPrivateMask = 1 << Symbol::kPrivateBit; |
| (...skipping 3613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8244 StoreObjectFieldNoWriteBarrier(result, | 8244 StoreObjectFieldNoWriteBarrier(result, |
| 8245 PromiseReactionJobInfo::kDebugNameOffset, | 8245 PromiseReactionJobInfo::kDebugNameOffset, |
| 8246 SmiConstant(kDebugNotActive)); | 8246 SmiConstant(kDebugNotActive)); |
| 8247 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, | 8247 StoreObjectFieldNoWriteBarrier(result, PromiseReactionJobInfo::kContextOffset, |
| 8248 context); | 8248 context); |
| 8249 return result; | 8249 return result; |
| 8250 } | 8250 } |
| 8251 | 8251 |
| 8252 } // namespace internal | 8252 } // namespace internal |
| 8253 } // namespace v8 | 8253 } // namespace v8 |
| OLD | NEW |