2009/8/15 Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>:
> This fixes EXPR_NULL_CHECK by choosing a suitable vm type depending on
> the architecture.
>
> Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>
> ---
>  arch/x86/insn-selector.brg |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg
> index 376ea0d..3220ba0 100644
> --- a/arch/x86/insn-selector.brg
> +++ b/arch/x86/insn-selector.brg
> @@ -1293,7 +1293,7 @@ reg:      EXPR_NULL_CHECK(EXPR_LOCAL)
>        struct expression *expr;
>        struct expression *local;
>
> -       reg = get_var(s->b_parent, J_INT);
> +       reg = get_var(s->b_parent, GPR_VM_TYPE);
>        state->reg1 = reg;
>
>        expr = to_expr(tree);
> --
> 1.6.0.6

I think we should use J_REFERENCE here, so that garbage collector will
know we're holding a reference here. With this in mind, it is clear that
we should not use GPR_VM_TYPE if we're not sure if register will
hold a refernce or not. A general solution is to use expr->vm_type as
register type.

-- 
Tomek Grabiec

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to