https://github.com/Unipisa/CMM
Revision c0f12bb6f3ea8f1350371695b42990a5c2eb93f2 authored by Giuseppe Attardi on 02 March 1998, 23:00:00 UTC, committed by CMM Curation Team on 11 December 2019, 14:35:48 UTC
Contributors mentioned in Changelog :
 - Giuseppe Attardi @attardi
 - Tito Flagella @tflagella
 - Pietro Iglio
1 parent 55778ad
Raw File
Tip revision: c0f12bb6f3ea8f1350371695b42990a5c2eb93f2 authored by Giuseppe Attardi on 02 March 1998, 23:00:00 UTC
1.9 -
Tip revision: c0f12bb
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();
}
back to top