From: jjenista Date: Thu, 7 Apr 2011 02:33:53 +0000 (+0000) Subject: TODO: move record pool to a thread-local thing and never deallocate it. Issue is... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d3168af03a26719cece2c51d3e215712701aeda5;p=IRC.git TODO: move record pool to a thread-local thing and never deallocate it. Issue is that a child can retire, then its parent, then deallocate the child's entire mem pool... then the child's traverser finally gets around to the record --- diff --git a/Robust/src/IR/Flat/BuildOoOJavaCode.java b/Robust/src/IR/Flat/BuildOoOJavaCode.java index 2958bdbe..99494f45 100644 --- a/Robust/src/IR/Flat/BuildOoOJavaCode.java +++ b/Robust/src/IR/Flat/BuildOoOJavaCode.java @@ -595,6 +595,12 @@ public class BuildOoOJavaCode extends BuildCode { // set up a task's mem pool to recycle the allocation of children tasks // don't bother if the task never has children (a leaf task) output.println( "#ifndef OOO_DISABLE_TASKMEMPOOL" ); + output.println( "/////////////////////////////////////////////" ); + output.println( "//" ); + output.println( "// TODO: use poolcreate to make one record pool" ); + output.println( "// per WORKER THREAD and never destroy it..." ); + output.println( "//" ); + output.println( "/////////////////////////////////////////////" ); if( !fsen.getIsLeafSESE() ) { output.println(" runningSESE->taskRecordMemPool = poolcreate( "+ maxTaskRecSizeStr+", freshTaskRecordInitializer );");