X-Git-Url: http://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm-abi.c;h=d0dabd2d914edf2f7b7168725b6f5730845b14a2;hp=ddaf45f77cfe6e9e66b535adef6e1413ee5144fa;hb=496b7b4a5162004e33dfd3328aee7d155342f09f;hpb=49ad3c76fc9656759aab23d9034ebc33f8d8bd9d diff --git a/src/backends/jvm/generator-jvm-abi.c b/src/backends/jvm/generator-jvm-abi.c index ddaf45f..d0dabd2 100644 --- a/src/backends/jvm/generator-jvm-abi.c +++ b/src/backends/jvm/generator-jvm-abi.c @@ -69,6 +69,7 @@ void jvm_generate_load(gen_proc_t * p, gen_var_t * src) { char prefix = src -> type -> prefix; + char postfix = src -> type -> postfix; int cell_size = src -> type -> cell_size; char * full_name = src -> full_name; char * desc = src -> type -> desc; @@ -94,7 +95,7 @@ jvm_generate_load(gen_proc_t * p, gen_var_t * src) case JVM_STORAGE_FRAME_PARAM_VAR: case JVM_STORAGE_FRAME_PARAM_VARPTR: jvm_generate_ldst_prepare(p, src); - jvm_generate(p, 1 + 1, cell_size, "%caload", prefix); + jvm_generate(p, 1 + 1, cell_size, "%caload", postfix); break; case JVM_STORAGE_FRAME: case JVM_STORAGE_FRAME_PARAM: @@ -111,6 +112,7 @@ void jvm_generate_store(gen_proc_t * p, gen_var_t * dst) { char prefix = dst -> type -> prefix; + char postfix = dst -> type -> postfix; int cell_size = dst -> type -> cell_size; char * full_name = dst -> full_name; char * desc = dst -> type -> desc; @@ -135,7 +137,7 @@ jvm_generate_store(gen_proc_t * p, gen_var_t * dst) case JVM_STORAGE_FRAME_VAR: case JVM_STORAGE_FRAME_PARAM_VAR: case JVM_STORAGE_FRAME_PARAM_VARPTR: - jvm_generate(p, 1 + 1 + cell_size, 0, "%castore", prefix); + jvm_generate(p, 1 + 1 + cell_size, 0, "%castore", postfix); break; case JVM_STORAGE_FRAME: case JVM_STORAGE_FRAME_PARAM: @@ -295,6 +297,7 @@ jvm_generate_param_initialization(gen_proc_t * p, gen_var_t * v) int old_reg = v -> reg; int cell_size = v -> type -> cell_size; char prefix = v -> type -> prefix; + char postfix = v -> type -> postfix; char * name = v -> name; char * desc = v -> type -> desc; @@ -308,7 +311,7 @@ jvm_generate_param_initialization(gen_proc_t * p, gen_var_t * v) jvm_generate(p, 0, 1, "iconst_0"); jvm_generate(p, 0, cell_size, "%cload %i", prefix, old_reg); - jvm_generate(p, 1 + 1 + cell_size, 0, "%castore", prefix); + jvm_generate(p, 1 + 1 + cell_size, 0, "%castore", postfix); } void