OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 7749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7760 MaybeObject* maybe = heap->AllocateFixedArrayWithHoles(capacity); | 7760 MaybeObject* maybe = heap->AllocateFixedArrayWithHoles(capacity); |
7761 if (!maybe->ToObject(&object)) return maybe; | 7761 if (!maybe->ToObject(&object)) return maybe; |
7762 new_elements = FixedArray::cast(object); | 7762 new_elements = FixedArray::cast(object); |
7763 } | 7763 } |
7764 | 7764 |
7765 // Find the new map to use for this object if there is a map change. | 7765 // Find the new map to use for this object if there is a map change. |
7766 Map* new_map = NULL; | 7766 Map* new_map = NULL; |
7767 if (elements()->map() != heap->non_strict_arguments_elements_map()) { | 7767 if (elements()->map() != heap->non_strict_arguments_elements_map()) { |
7768 Object* object; | 7768 Object* object; |
7769 bool has_fast_smi_only_elements = | 7769 bool has_fast_smi_only_elements = |
7770 FLAG_smi_only_arrays && | |
7771 (set_capacity_mode == kAllowSmiOnlyElements) && | 7770 (set_capacity_mode == kAllowSmiOnlyElements) && |
7772 (elements()->map()->has_fast_smi_only_elements() || | 7771 (elements()->map()->has_fast_smi_only_elements() || |
7773 elements() == heap->empty_fixed_array()); | 7772 elements() == heap->empty_fixed_array()); |
7774 ElementsKind elements_kind = has_fast_smi_only_elements | 7773 ElementsKind elements_kind = has_fast_smi_only_elements |
7775 ? FAST_SMI_ONLY_ELEMENTS | 7774 ? FAST_SMI_ONLY_ELEMENTS |
7776 : FAST_ELEMENTS; | 7775 : FAST_ELEMENTS; |
7777 MaybeObject* maybe = GetElementsTransitionMap(elements_kind); | 7776 MaybeObject* maybe = GetElementsTransitionMap(elements_kind); |
7778 if (!maybe->ToObject(&object)) return maybe; | 7777 if (!maybe->ToObject(&object)) return maybe; |
7779 new_map = Map::cast(object); | 7778 new_map = Map::cast(object); |
7780 } | 7779 } |
(...skipping 4399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12180 if (break_point_objects()->IsUndefined()) return 0; | 12179 if (break_point_objects()->IsUndefined()) return 0; |
12181 // Single break point. | 12180 // Single break point. |
12182 if (!break_point_objects()->IsFixedArray()) return 1; | 12181 if (!break_point_objects()->IsFixedArray()) return 1; |
12183 // Multiple break points. | 12182 // Multiple break points. |
12184 return FixedArray::cast(break_point_objects())->length(); | 12183 return FixedArray::cast(break_point_objects())->length(); |
12185 } | 12184 } |
12186 #endif | 12185 #endif |
12187 | 12186 |
12188 | 12187 |
12189 } } // namespace v8::internal | 12188 } } // namespace v8::internal |
OLD | NEW |