diff src/lru_cache.sml @ 2281:75cb60a7f6f1

Simplify C interface.
author Ziv Scully <ziv@mit.edu>
date Thu, 12 Nov 2015 09:15:50 -0500
parents 32a407902d3b
children 472b4504aef2
line wrap: on
line diff
--- a/src/lru_cache.sml	Thu Nov 12 08:46:51 2015 -0500
+++ b/src/lru_cache.sml	Thu Nov 12 09:15:50 2015 -0500
@@ -62,14 +62,14 @@
 
         val revArgs = paramRepeatRev (fn p => "p" ^ p) ", "
 
-        val numArgs = Int.toString params
-
     in
         Print.box
             [string ("static uw_Sqlcache_Cache cacheStruct" ^ i ^ " = {"),
              newline,
              string "  .table = NULL,",
              newline,
+             string ("  .numKeys = " ^ Int.toString params ^ ","),
+             newline,
              string "  .timeInvalid = 0,",
              newline,
              string "  .timeNow = 0};",
@@ -83,8 +83,7 @@
              newline,
              string ("  char *ks[] = {" ^ revArgs ^ "};"),
              newline,
-             string "  uw_Sqlcache_Value *v = ",
-             string ("uw_Sqlcache_check(cache" ^ i ^ ", ks, " ^ numArgs ^ ");"),
+             string ("  uw_Sqlcache_Value *v = uw_Sqlcache_check(cache" ^ i ^ ", ks);"),
              newline,
              (* If the output is null, it means we had too much recursion, so it's a miss. *)
              string "  if (v && v->output != NULL) {",
@@ -122,7 +121,7 @@
              newline,
              string ("  puts(\"SQLCACHE: stored " ^ i ^ ".\");"),
              newline,
-             string ("  uw_Sqlcache_store(cache" ^ i ^ ", ks, " ^ numArgs ^ ", v);"),
+             string ("  uw_Sqlcache_store(cache" ^ i ^ ", ks, v);"),
              newline,
              string "  return uw_unit_v;",
              newline,
@@ -135,7 +134,7 @@
              newline,
              string ("  char *ks[] = {" ^ revArgs ^ "};"),
              newline,
-             string ("  uw_Sqlcache_flush(cache" ^ i ^ ", ks, " ^ numArgs ^ ");"),
+             string ("  uw_Sqlcache_flush(cache" ^ i ^ ", ks);"),
              newline,
              string "  return uw_unit_v;",
              newline,