From d3168af03a26719cece2c51d3e215712701aeda5 Mon Sep 17 00:00:00 2001 From: jjenista Date: Thu, 7 Apr 2011 02:33:53 +0000 Subject: [PATCH] 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 --- Robust/src/IR/Flat/BuildOoOJavaCode.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 );"); -- 2.34.1