summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 5b779b63d..bd3f34ddd 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -398,17 +398,15 @@ gen_jmpdst(codegen_scope *s, uint32_t pc)
{
if (pc == JMPLINK_START) {
- gen_S(s, 0);
+ pc = 0;
}
- else {
- uint32_t pos2 = s->pc+2;
- int32_t off = pc - pos2;
+ uint32_t pos2 = s->pc+2;
+ int32_t off = pc - pos2;
- if (off > INT16_MAX || INT16_MIN > off) {
- codegen_error(s, "too big jump offset");
- }
- gen_S(s, (uint16_t)off);
+ if (off > INT16_MAX || INT16_MIN > off) {
+ codegen_error(s, "too big jump offset");
}
+ gen_S(s, (uint16_t)off);
}
static uint32_t