OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 6725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6736 CHECK(marking->IsComplete()); | 6736 CHECK(marking->IsComplete()); |
6737 | 6737 |
6738 // All objects need to be black after marking. If a white object crossed the | 6738 // All objects need to be black after marking. If a white object crossed the |
6739 // progress bar, we would fail here. | 6739 // progress bar, we would fail here. |
6740 for (int i = 0; i < arr.get()->length(); i++) { | 6740 for (int i = 0; i < arr.get()->length(); i++) { |
6741 CHECK(Marking::IsBlack( | 6741 CHECK(Marking::IsBlack( |
6742 Marking::MarkBitFrom(HeapObject::cast(arr.get()->get(i))))); | 6742 Marking::MarkBitFrom(HeapObject::cast(arr.get()->get(i))))); |
6743 } | 6743 } |
6744 } | 6744 } |
6745 | 6745 |
| 6746 TEST(Regress609761) { |
| 6747 CcTest::InitializeVM(); |
| 6748 v8::HandleScope scope(CcTest::isolate()); |
| 6749 Heap* heap = CcTest::heap(); |
| 6750 Isolate* isolate = heap->isolate(); |
| 6751 |
| 6752 intptr_t size_before = heap->SizeOfObjects(); |
| 6753 Handle<FixedArray> array = isolate->factory()->NewFixedArray(200000); |
| 6754 array->Shrink(1); |
| 6755 intptr_t size_after = heap->SizeOfObjects(); |
| 6756 CHECK_EQ(size_after, size_before + array->Size()); |
| 6757 } |
| 6758 |
6746 } // namespace internal | 6759 } // namespace internal |
6747 } // namespace v8 | 6760 } // namespace v8 |
OLD | NEW |