https://github.com/Unipisa/CMM
Tip revision: 55778ad8b99c136e1886959c1f1333c776df14e1 authored by Giuseppe Attardi on 15 May 1997, 06:24:54 UTC
1.8 -
1.8 -
Tip revision: 55778ad
test6.cpp
#include "tempheap.h"
#include <stdio.h>
class MyClass : public CmmObject
{
int x;
MyClass *y;
public:
void test() { printf("Testing ... Ok\n") ; }
void traverse() { Cmm::heap->scavenge((CmmObject **)&y); }
};
void
main()
{
MyClass *MyVar;
CmmHeap *MyHeap = new TempHeap(100000);
GcArray<MyClass> * MyVector = new (100, Cmm::heap) GcArray<MyClass> ;
// Instead of
// .... MyVar = new MyClass[100];
// Use ....
MyVar = (MyClass *) new (sizeof(MyClass) * 100, MyHeap) CmmVarObject ;
MyVar[2].test();
Cmm::heap->collect();
MyVar[2].test();
}