OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/allocation-site-scopes.h" | 8 #include "src/allocation-site-scopes.h" |
9 #include "src/api.h" | 9 #include "src/api.h" |
10 #include "src/arguments.h" | 10 #include "src/arguments.h" |
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
651 DCHECK(!HasFastProperties()); | 651 DCHECK(!HasFastProperties()); |
652 Object* value = property_dictionary()->ValueAt(result->GetDictionaryEntry()); | 652 Object* value = property_dictionary()->ValueAt(result->GetDictionaryEntry()); |
653 if (IsGlobalObject()) { | 653 if (IsGlobalObject()) { |
654 value = PropertyCell::cast(value)->value(); | 654 value = PropertyCell::cast(value)->value(); |
655 } | 655 } |
656 DCHECK(!value->IsPropertyCell() && !value->IsCell()); | 656 DCHECK(!value->IsPropertyCell() && !value->IsCell()); |
657 return value; | 657 return value; |
658 } | 658 } |
659 | 659 |
660 | 660 |
661 Handle<Object> JSObject::GetNormalizedProperty(Handle<JSObject> object, | |
662 const LookupResult* result) { | |
663 DCHECK(!object->HasFastProperties()); | |
664 Isolate* isolate = object->GetIsolate(); | |
665 Handle<Object> value(object->property_dictionary()->ValueAt( | |
666 result->GetDictionaryEntry()), isolate); | |
667 if (object->IsGlobalObject()) { | |
668 value = handle(Handle<PropertyCell>::cast(value)->value(), isolate); | |
669 DCHECK(!value->IsTheHole()); | |
670 } | |
671 DCHECK(!value->IsPropertyCell() && !value->IsCell()); | |
672 return value; | |
673 } | |
674 | |
675 | |
676 void JSObject::SetNormalizedProperty(Handle<JSObject> object, | 661 void JSObject::SetNormalizedProperty(Handle<JSObject> object, |
677 Handle<Name> name, | 662 Handle<Name> name, |
678 Handle<Object> value, | 663 Handle<Object> value, |
679 PropertyDetails details) { | 664 PropertyDetails details) { |
680 DCHECK(!object->HasFastProperties()); | 665 DCHECK(!object->HasFastProperties()); |
681 Handle<NameDictionary> property_dictionary(object->property_dictionary()); | 666 Handle<NameDictionary> property_dictionary(object->property_dictionary()); |
682 | 667 |
683 if (!name->IsUniqueName()) { | 668 if (!name->IsUniqueName()) { |
684 name = object->GetIsolate()->factory()->InternalizeString( | 669 name = object->GetIsolate()->factory()->InternalizeString( |
685 Handle<String>::cast(name)); | 670 Handle<String>::cast(name)); |
(...skipping 15920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16606 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16591 #define ERROR_MESSAGES_TEXTS(C, T) T, |
16607 static const char* error_messages_[] = { | 16592 static const char* error_messages_[] = { |
16608 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16593 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
16609 }; | 16594 }; |
16610 #undef ERROR_MESSAGES_TEXTS | 16595 #undef ERROR_MESSAGES_TEXTS |
16611 return error_messages_[reason]; | 16596 return error_messages_[reason]; |
16612 } | 16597 } |
16613 | 16598 |
16614 | 16599 |
16615 } } // namespace v8::internal | 16600 } } // namespace v8::internal |
OLD | NEW |