Yentl Van Tendeloo 7 роки тому
батько
коміт
f10fb69c2c
2 змінених файлів з 6 додано та 3 видалено
  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)
         #print("Reading function: %s" % suggested_name)
         (prev, printed), = yield [("CALL_ARGS", [self.print_instruction, (inst, 1)])]
         (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" + \
                    "  _root = kwargs['task_root']\n" + \
                    "  _taskname = kwargs['taskname']\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
         printed = preamble + prev + printed
         #print("Total printed function: ")
         #print("Total printed function: ")
         if params:
         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)
 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 author: Yentl Van Tendeloo
 Model name:   MvK Server
 Model name:   MvK Server