https://github.com/Unipisa/CMM
Tip revision: 29c7c5881c0ff2ef9e3a96be37e6eaef9b33a201 authored by Giuseppe Attardi on 07 November 1994, 16:36:34 UTC
1.3 -
1.3 -
Tip revision: 29c7c58
test6.C
#include "HeapStack.H"
class MyClass : GcObject
{
int x;
MyClass *y;
public:
void test() { cout << "Testing ... Ok\n" ; }
void traverse() { CmmHeap::heap->scavenge((GcObject **)&y); }
};
main()
{
MyClass *MyVar;
CmmHeap *MyHeap = new BBStack(100000);
GcArray<MyClass> * MyVector = new (100, heap) GcArray<MyClass> ;
// Instead of
// .... MyVar = new MyClass[100];
// Use ....
MyVar = (MyClass *) new (sizeof(MyClass) * 100, MyHeap) GcVarObject ;
MyVar[2].test();
heap->collect();
MyVar[2].test();
}