From 248ddcf2c82a0dd08539935b7c4a9db4adc097e1 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Fri, 16 Jan 2015 18:04:32 -0800 Subject: [PATCH] changes --- benchmark/chase-lev-deque-bugfix/deque.h | 9 ++++++--- benchmark/cliffc-hashtable/cliffc_hashtable.h | 3 ++- .../eecs/specCompiler/codeGenerator/CodeGenerator.java | 2 +- .../eecs/specCompiler/codeGenerator/CodeVariables.java | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/benchmark/chase-lev-deque-bugfix/deque.h b/benchmark/chase-lev-deque-bugfix/deque.h index f188a8f..0e2fb2b 100644 --- a/benchmark/chase-lev-deque-bugfix/deque.h +++ b/benchmark/chase-lev-deque-bugfix/deque.h @@ -37,12 +37,15 @@ typedef struct { id_tag_t *tag; @InitVar: __deque = new_spec_list(); + model_print("init_list\n"); tag = new_id_tag(); // Beginning of available id @Cleanup: - if (__deque) - free_spec_list(__deque); + if (__deque) { + //free_spec_list(__deque); + model_print("free_list\n"); + } if (tag) - free_id_tag(); + free_id_tag(tag); @DefineFunc: tag_elem_t* new_tag_elem(call_id_t id, int data) { tag_elem_t *e = (tag_elem_t*) CMODEL_MALLOC(sizeof(tag_elem_t)); diff --git a/benchmark/cliffc-hashtable/cliffc_hashtable.h b/benchmark/cliffc-hashtable/cliffc_hashtable.h index b5b941e..1160c13 100644 --- a/benchmark/cliffc-hashtable/cliffc_hashtable.h +++ b/benchmark/cliffc-hashtable/cliffc_hashtable.h @@ -107,7 +107,8 @@ class cliffc_hashtable { map = new_spec_table_default(equals_key); id_map = new_spec_table_default(equals_id); tag = new_id_tag(); - + //@Cleanup: + // model_print("cleaning up\n"); @DefineFunc: bool equals_key(void *ptr1, void *ptr2) { TypeK *key1 = (TypeK*) ptr1, diff --git a/src/edu/uci/eecs/specCompiler/codeGenerator/CodeGenerator.java b/src/edu/uci/eecs/specCompiler/codeGenerator/CodeGenerator.java index 49299d1..61e9fea 100644 --- a/src/edu/uci/eecs/specCompiler/codeGenerator/CodeGenerator.java +++ b/src/edu/uci/eecs/specCompiler/codeGenerator/CodeGenerator.java @@ -328,7 +328,7 @@ public class CodeGenerator { // File[][] sources = { srcLinuxRWLocks, srcMSQueue, srcRCU, // srcDeque, srcMCSLock, srcSPSCQueue, srcMPMCQueue, srcHashtable }; - File[][] sources = {srcMSQueue }; + File[][] sources = {srcMSQueue,srcHashtable, srcDeque }; // Compile all the benchmarks for (int i = 0; i < sources.length; i++) { CodeGenerator gen = new CodeGenerator(sources[i]); diff --git a/src/edu/uci/eecs/specCompiler/codeGenerator/CodeVariables.java b/src/edu/uci/eecs/specCompiler/codeGenerator/CodeVariables.java index 999221b..3d4583d 100644 --- a/src/edu/uci/eecs/specCompiler/codeGenerator/CodeVariables.java +++ b/src/edu/uci/eecs/specCompiler/codeGenerator/CodeVariables.java @@ -461,9 +461,9 @@ public class CodeVariables { String structName = "anno_init", anno = "init"; newCode.add("\t" + STRUCT_NEW_DECLARE_DEFINE(ANNO_INIT, structName)); newCode.add("\t" - + ASSIGN_TO_PTR(structName, "init_func", "__SPEC_INIT__")); + + ASSIGN_TO_PTR(structName, "init_func", "(void*) __SPEC_INIT__")); newCode.add("\t" - + ASSIGN_TO_PTR(structName, "cleanup_func", "__SPEC_CLEANUP__")); + + ASSIGN_TO_PTR(structName, "cleanup_func", "(void*) __SPEC_CLEANUP__")); newCode.add("\t" + ASSIGN_TO_PTR(structName, "func_table", "func_ptr_table")); newCode.add("\t" -- 2.34.1