OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 5553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5564 } // namespace | 5564 } // namespace |
5565 | 5565 |
5566 TEST(HeapTest, StackGrowthDirection) | 5566 TEST(HeapTest, StackGrowthDirection) |
5567 { | 5567 { |
5568 // The implementation of marking probes stack usage as it runs, | 5568 // The implementation of marking probes stack usage as it runs, |
5569 // and has a builtin assumption that the stack grows towards | 5569 // and has a builtin assumption that the stack grows towards |
5570 // lower addresses. | 5570 // lower addresses. |
5571 EXPECT_EQ(GrowsTowardsLower, stackGrowthDirection()); | 5571 EXPECT_EQ(GrowsTowardsLower, stackGrowthDirection()); |
5572 } | 5572 } |
5573 | 5573 |
| 5574 TEST(HeapTest, Zombie) |
| 5575 { |
| 5576 Bar::s_live = 0; |
| 5577 Baz* baz = Baz::create(Bar::create()); |
| 5578 ThreadState::current()->markAsZombie(baz); |
| 5579 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack); |
| 5580 // |baz| and a Bar shouldn't be collected. |
| 5581 EXPECT_EQ(1u, Bar::s_live); |
| 5582 |
| 5583 ThreadState::current()->purifyZombies(); |
| 5584 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack); |
| 5585 EXPECT_EQ(0u, Bar::s_live); |
| 5586 } |
| 5587 |
5574 } // namespace blink | 5588 } // namespace blink |
OLD | NEW |