Pointers are 64-bits on x86-64, so we need to use 64-bit operand widths for instructions operating on J_REFERENCE values.
Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro> --- arch/x86/emit-code.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/x86/emit-code.c b/arch/x86/emit-code.c index e149cf2..5dd4e68 100644 --- a/arch/x86/emit-code.c +++ b/arch/x86/emit-code.c @@ -2208,7 +2208,8 @@ static inline unsigned long rip_relative(struct buffer *buf, static inline int is_64bit_reg(struct operand *reg) { - return (reg->reg.interval->var_info->vm_type == J_LONG); + return (reg->reg.interval->var_info->vm_type == J_LONG || + reg->reg.interval->var_info->vm_type == J_REFERENCE); } static int is_64bit_bin_reg_op(struct operand *a, struct operand *b) -- 1.6.0.6 ------------------------------------------------------------------------------ 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