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 | |
5588 } // namespace blink | 5574 } // namespace blink |
OLD | NEW |