Browse Source

Cache _globs as well

Yentl Van Tendeloo 7 years ago
parent
commit
f10fb69c2c
2 changed files with 6 additions and 3 deletions
  1. 5 2
      kernel/modelverse_kernel/main.py
  2. 1 1
      wrappers/modelverse_SCCD.py

+ 5 - 2
kernel/modelverse_kernel/main.py

@@ -383,10 +383,13 @@ class ModelverseKernel(object):
 
         #print("Reading function: %s" % suggested_name)
         (prev, printed), = yield [("CALL_ARGS", [self.print_instruction, (inst, 1)])]
-        preamble = "  _globs, = yield [('RD', [kwargs['task_root'], 'globals'])]\n" + \
+        preamble = "  _mvk = kwargs['mvk']\n" + \
                    "  _root = kwargs['task_root']\n" + \
                    "  _taskname = kwargs['taskname']\n" + \
-                   "  _mvk = kwargs['mvk']\n"
+                   "  _globs = _mvk.jit.cache[_taskname].get('_globs', None)\n" + \
+                   "  if _globs is None:\n" + \
+                   "    _globs, = yield [('RD', [kwargs['task_root'], 'globals'])]\n" + \
+                   "    _mvk.jit.cache[_taskname]['_globs'] = _globs\n"
         printed = preamble + prev + printed
         #print("Total printed function: ")
         if params:

+ 1 - 1
wrappers/modelverse_SCCD.py

@@ -1,7 +1,7 @@
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
-Date:   Wed May 23 19:22:08 2018
+Date:   Wed May 23 19:31:09 2018
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server