src/share/vm/c1/c1_LIRAssembler.cpp

changeset 2344
ac637b7220d1
parent 2314
f95d63e2154a
child 2412
037c727f35fb
     1.1 --- a/src/share/vm/c1/c1_LIRAssembler.cpp	Tue Nov 23 13:22:55 2010 -0800
     1.2 +++ b/src/share/vm/c1/c1_LIRAssembler.cpp	Tue Nov 30 23:23:40 2010 -0800
     1.3 @@ -489,7 +489,9 @@
     1.4          volatile_move_op(op->in_opr(), op->result_opr(), op->type(), op->info());
     1.5        } else {
     1.6          move_op(op->in_opr(), op->result_opr(), op->type(),
     1.7 -                op->patch_code(), op->info(), op->pop_fpu_stack(), op->move_kind() == lir_move_unaligned);
     1.8 +                op->patch_code(), op->info(), op->pop_fpu_stack(),
     1.9 +                op->move_kind() == lir_move_unaligned,
    1.10 +                op->move_kind() == lir_move_wide);
    1.11        }
    1.12        break;
    1.13  
    1.14 @@ -758,7 +760,7 @@
    1.15  }
    1.16  
    1.17  
    1.18 -void LIR_Assembler::move_op(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info, bool pop_fpu_stack, bool unaligned) {
    1.19 +void LIR_Assembler::move_op(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info, bool pop_fpu_stack, bool unaligned, bool wide) {
    1.20    if (src->is_register()) {
    1.21      if (dest->is_register()) {
    1.22        assert(patch_code == lir_patch_none && info == NULL, "no patching and info allowed here");
    1.23 @@ -767,7 +769,7 @@
    1.24        assert(patch_code == lir_patch_none && info == NULL, "no patching and info allowed here");
    1.25        reg2stack(src, dest, type, pop_fpu_stack);
    1.26      } else if (dest->is_address()) {
    1.27 -      reg2mem(src, dest, type, patch_code, info, pop_fpu_stack, unaligned);
    1.28 +      reg2mem(src, dest, type, patch_code, info, pop_fpu_stack, wide, unaligned);
    1.29      } else {
    1.30        ShouldNotReachHere();
    1.31      }
    1.32 @@ -790,13 +792,13 @@
    1.33        const2stack(src, dest);
    1.34      } else if (dest->is_address()) {
    1.35        assert(patch_code == lir_patch_none, "no patching allowed here");
    1.36 -      const2mem(src, dest, type, info);
    1.37 +      const2mem(src, dest, type, info, wide);
    1.38      } else {
    1.39        ShouldNotReachHere();
    1.40      }
    1.41  
    1.42    } else if (src->is_address()) {
    1.43 -    mem2reg(src, dest, type, patch_code, info, unaligned);
    1.44 +    mem2reg(src, dest, type, patch_code, info, wide, unaligned);
    1.45  
    1.46    } else {
    1.47      ShouldNotReachHere();

mercurial