src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

changeset 1927
87fc6aca31ab
parent 1919
61b2245abf36
child 1934
e9ff18c4ace7
     1.1 --- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	Thu May 27 18:01:56 2010 -0700
     1.2 +++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	Thu May 27 22:01:55 2010 -0700
     1.3 @@ -2462,9 +2462,18 @@
     1.4        }
     1.5  #endif // _LP64
     1.6      } else {
     1.7 +#ifdef _LP64
     1.8 +      Register r_lo;
     1.9 +      if (right->type() == T_OBJECT || right->type() == T_ARRAY) {
    1.10 +        r_lo = right->as_register();
    1.11 +      } else {
    1.12 +        r_lo = right->as_register_lo();
    1.13 +      }
    1.14 +#else
    1.15        Register r_lo = right->as_register_lo();
    1.16        Register r_hi = right->as_register_hi();
    1.17        assert(l_lo != r_hi, "overwriting registers");
    1.18 +#endif
    1.19        switch (code) {
    1.20          case lir_logic_and:
    1.21            __ andptr(l_lo, r_lo);

mercurial