refactor: reduce global var in trap.c to one pointer
[mate.git] / Mate / Strings.hs
index 74a0e1765ac13302428da694bc44970b18b7d58c..794af0ff3eb8c68c668532a506e944328379e395 100644 (file)
@@ -24,12 +24,11 @@ import Mate.GarbageAlloc
 
 getUniqueStringAddr :: B.ByteString -> IO Word32
 getUniqueStringAddr str = do
-  smap <- get_stringsmap >>= ptr2stringsmap
+  smap <- getStringMap
   case M.lookup str smap of
     Nothing -> do
       addr <- allocateJavaString str
-      let smap' = M.insert str addr smap
-      stringsmap2ptr smap' >>= set_stringsmap
+      setStringMap $ M.insert str addr smap
       return addr
     Just addr -> return addr