DEADSOFTWARE

JVM: исправлен вызов локальных процедур вложенностью больше одного
[dsw-obn.git] / src / backends / jvm / generator-jvm-abi.c
index f277188bb6c54f48bff60ae3a1cbae8ca0b2bc81..353ce21e88af205130ec950698296c57b013323f 100644 (file)
@@ -623,7 +623,7 @@ jvm_generate_staticlinks(oberon_object_t * proc)
 
        p = proc -> gen_proc;
 
-       jvm_generate_staticlinks_recursive(p, proc -> parent, p -> level);
+       jvm_generate_staticlinks_recursive(p, proc -> parent, p -> level - 1);
 }
 
 static void
@@ -655,10 +655,11 @@ jvm_create_static_links(oberon_object_t * proc)
        size_t sz = sizeof(*p -> reg_frame) * max_frames;
        p -> max_frames = max_frames;
        p -> reg_frame = GC_MALLOC(sz);
-       memset(p -> reg_frame, 0, sz);
+       memset(p -> reg_frame, 255, sz);
 
        p -> level = max_frames - 1;
-       jvm_create_staticlinks_recursive(p, proc -> parent, p -> level);
+
+       jvm_create_staticlinks_recursive(p, proc -> parent, p -> level - 1);
 }
 
 static void