OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 9288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9299 // TODO(verwaest) Should be an assert, otherwise back pointers are not | 9299 // TODO(verwaest) Should be an assert, otherwise back pointers are not |
9300 // properly cleared. | 9300 // properly cleared. |
9301 if (transition_index == t->number_of_transitions()) return; | 9301 if (transition_index == t->number_of_transitions()) return; |
9302 | 9302 |
9303 int number_of_own_descriptors = NumberOfOwnDescriptors(); | 9303 int number_of_own_descriptors = NumberOfOwnDescriptors(); |
9304 | 9304 |
9305 if (descriptors_owner_died) { | 9305 if (descriptors_owner_died) { |
9306 if (number_of_own_descriptors > 0) { | 9306 if (number_of_own_descriptors > 0) { |
9307 TrimDescriptorArray(heap, this, descriptors, number_of_own_descriptors); | 9307 TrimDescriptorArray(heap, this, descriptors, number_of_own_descriptors); |
9308 ASSERT(descriptors->number_of_descriptors() == number_of_own_descriptors); | 9308 ASSERT(descriptors->number_of_descriptors() == number_of_own_descriptors); |
| 9309 map->set_owns_descriptors(true); |
9309 } else { | 9310 } else { |
9310 ASSERT(descriptors == GetHeap()->empty_descriptor_array()); | 9311 ASSERT(descriptors == GetHeap()->empty_descriptor_array()); |
9311 } | 9312 } |
9312 } | 9313 } |
9313 | 9314 |
9314 int trim = t->number_of_transitions() - transition_index; | 9315 int trim = t->number_of_transitions() - transition_index; |
9315 if (trim > 0) { | 9316 if (trim > 0) { |
9316 RightTrimFixedArray<FROM_GC>(heap, t, t->IsSimpleTransition() | 9317 RightTrimFixedArray<FROM_GC>(heap, t, t->IsSimpleTransition() |
9317 ? trim : trim * TransitionArray::kTransitionSize); | 9318 ? trim : trim * TransitionArray::kTransitionSize); |
9318 } | 9319 } |
(...skipping 6942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16261 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16262 #define ERROR_MESSAGES_TEXTS(C, T) T, |
16262 static const char* error_messages_[] = { | 16263 static const char* error_messages_[] = { |
16263 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16264 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
16264 }; | 16265 }; |
16265 #undef ERROR_MESSAGES_TEXTS | 16266 #undef ERROR_MESSAGES_TEXTS |
16266 return error_messages_[reason]; | 16267 return error_messages_[reason]; |
16267 } | 16268 } |
16268 | 16269 |
16269 | 16270 |
16270 } } // namespace v8::internal | 16271 } } // namespace v8::internal |
OLD | NEW |