X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm-abi.c;h=353ce21e88af205130ec950698296c57b013323f;hb=f4a67f6ba1dc6b2780e1cda553a1411469bf8b33;hp=d1e87f16a964bbb76f69eefe6c550081abda82cb;hpb=4e58c0e61815196bcf87405ab9d070631bc72f90;p=dsw-obn.git diff --git a/src/backends/jvm/generator-jvm-abi.c b/src/backends/jvm/generator-jvm-abi.c index d1e87f1..353ce21 100644 --- a/src/backends/jvm/generator-jvm-abi.c +++ b/src/backends/jvm/generator-jvm-abi.c @@ -256,12 +256,13 @@ jvm_generate_var(gen_var_t * v) case JVM_STORAGE_REGISTER: case JVM_STORAGE_PARAM: case JVM_STORAGE_PARAM_VAR: - case JVM_STORAGE_FRAME: - case JVM_STORAGE_FRAME_VAR: case JVM_STORAGE_FRAME_PARAM: case JVM_STORAGE_FRAME_PARAM_VAR: jvm_generate(p, 0, 0, ".var %i is '%s' %s from start to end", reg, name, desc); break; + case JVM_STORAGE_FRAME: + case JVM_STORAGE_FRAME_VAR: + break; case JVM_STORAGE_REGISTER_VAR: jvm_generate(p, 0, 0, ".var %i is '%s' [%s from start to end", reg, name, desc); break; @@ -622,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 @@ -654,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