Changeset e297ceb
- Timestamp:
- Aug 10, 2016, 10:20:44 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 9c98156
- Parents:
- d1625f8
- Location:
- src/examples/gc_no_raii
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/examples/gc_no_raii/src/gc.h
rd1625f8 re297ceb 7 7 static inline gcpointer(T) gcmalloc() 8 8 { 9 gcpointer(T) ptr; 10 void* address = gc_allocate(sizeof(T)); 11 (&ptr){ address }; 12 ctor(&ptr, address); 9 gcpointer(T) ptr = { gc_allocate(sizeof(T)) }; 10 ptr{}; 13 11 gc_conditional_collect(); 14 12 return ptr; 15 13 } 14 15 forall(otype T) 16 static inline void gcmalloc(gcpointer(T)* ptr) 17 { 18 ptr{ gc_allocate(sizeof(T)) }; 19 (*ptr){}; 20 gc_conditional_collect(); 21 } -
src/examples/gc_no_raii/test/gctest.c
rd1625f8 re297ceb 8 8 sout | "Bonjour au monde!\n"; 9 9 10 gcpointer(int) anInt = gcmalloc(); 10 for(int i = 0; i < 1000000; i++) { 11 gcpointer(int) anInt; 12 gcmalloc(&anInt); 13 } 11 14 }
Note: See TracChangeset
for help on using the changeset viewer.