LIR position passed to radix_tree_lookup() should be always even. Signed-off-by: Tomek Grabiec <tgrab...@gmail.com> --- jit/spill-reload.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/jit/spill-reload.c b/jit/spill-reload.c index 3dfb0b3..eaa2790 100644 --- a/jit/spill-reload.c +++ b/jit/spill-reload.c @@ -53,8 +53,6 @@ get_reload_before_insn(struct compilation_unit *cu, struct live_interval *interv unsigned long start = interval_start(interval); - ret = radix_tree_lookup(cu->lir_insn_map, start); - if (start & 1) { /* * If interval starts at odd position and has a use @@ -67,7 +65,10 @@ get_reload_before_insn(struct compilation_unit *cu, struct live_interval *interv if (first_use_pos(interval) == interval_start(interval)) error("interval begins with a def-use and is marked for reload"); + ret = radix_tree_lookup(cu->lir_insn_map, start - 1); ret = next_insn(ret); + } else { + ret = radix_tree_lookup(cu->lir_insn_map, start); } assert(ret != NULL); -- 1.6.0.4 ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel