src/cpu/x86/vm/interpreterRT_x86_64.cpp

changeset 739
dc7f315e41f7
parent 435
a61af66fc99e
child 772
9ee9cf798b59
     1.1 --- a/src/cpu/x86/vm/interpreterRT_x86_64.cpp	Tue Aug 26 15:49:40 2008 -0700
     1.2 +++ b/src/cpu/x86/vm/interpreterRT_x86_64.cpp	Wed Aug 27 00:21:55 2008 -0700
     1.3 @@ -93,49 +93,49 @@
     1.4  #ifdef _WIN64
     1.5    switch (_num_args) {
     1.6    case 0:
     1.7 -    __ movq(c_rarg1, src);
     1.8 +    __ movptr(c_rarg1, src);
     1.9      _num_args++;
    1.10      break;
    1.11    case 1:
    1.12 -    __ movq(c_rarg2, src);
    1.13 +    __ movptr(c_rarg2, src);
    1.14      _num_args++;
    1.15      break;
    1.16    case 2:
    1.17 -    __ movq(c_rarg3, src);
    1.18 +    __ movptr(c_rarg3, src);
    1.19      _num_args++;
    1.20      break;
    1.21    case 3:
    1.22    default:
    1.23 -    __ movq(rax, src);
    1.24 -    __ movq(Address(to(), _stack_offset), rax);
    1.25 +    __ movptr(rax, src);
    1.26 +    __ movptr(Address(to(), _stack_offset), rax);
    1.27      _stack_offset += wordSize;
    1.28      break;
    1.29    }
    1.30  #else
    1.31    switch (_num_int_args) {
    1.32    case 0:
    1.33 -    __ movq(c_rarg1, src);
    1.34 +    __ movptr(c_rarg1, src);
    1.35      _num_int_args++;
    1.36      break;
    1.37    case 1:
    1.38 -    __ movq(c_rarg2, src);
    1.39 +    __ movptr(c_rarg2, src);
    1.40      _num_int_args++;
    1.41      break;
    1.42    case 2:
    1.43 -    __ movq(c_rarg3, src);
    1.44 +    __ movptr(c_rarg3, src);
    1.45      _num_int_args++;
    1.46      break;
    1.47    case 3:
    1.48 -    __ movq(c_rarg4, src);
    1.49 +    __ movptr(c_rarg4, src);
    1.50      _num_int_args++;
    1.51      break;
    1.52    case 4:
    1.53 -    __ movq(c_rarg5, src);
    1.54 +    __ movptr(c_rarg5, src);
    1.55      _num_int_args++;
    1.56      break;
    1.57    default:
    1.58 -    __ movq(rax, src);
    1.59 -    __ movq(Address(to(), _stack_offset), rax);
    1.60 +    __ movptr(rax, src);
    1.61 +    __ movptr(Address(to(), _stack_offset), rax);
    1.62      _stack_offset += wordSize;
    1.63      break;
    1.64    }
    1.65 @@ -171,16 +171,16 @@
    1.66    if (_num_args < Argument::n_float_register_parameters_c-1) {
    1.67      __ movdbl(as_XMMRegister(++_num_args), src);
    1.68    } else {
    1.69 -    __ movq(rax, src);
    1.70 -    __ movq(Address(to(), _stack_offset), rax);
    1.71 +    __ movptr(rax, src);
    1.72 +    __ movptr(Address(to(), _stack_offset), rax);
    1.73      _stack_offset += wordSize;
    1.74    }
    1.75  #else
    1.76    if (_num_fp_args < Argument::n_float_register_parameters_c) {
    1.77      __ movdbl(as_XMMRegister(_num_fp_args++), src);
    1.78    } else {
    1.79 -    __ movq(rax, src);
    1.80 -    __ movq(Address(to(), _stack_offset), rax);
    1.81 +    __ movptr(rax, src);
    1.82 +    __ movptr(Address(to(), _stack_offset), rax);
    1.83      _stack_offset += wordSize;
    1.84    }
    1.85  #endif
    1.86 @@ -193,29 +193,29 @@
    1.87    switch (_num_args) {
    1.88    case 0:
    1.89      assert(offset() == 0, "argument register 1 can only be (non-null) receiver");
    1.90 -    __ leaq(c_rarg1, src);
    1.91 +    __ lea(c_rarg1, src);
    1.92      _num_args++;
    1.93      break;
    1.94    case 1:
    1.95 -    __ leaq(rax, src);
    1.96 +    __ lea(rax, src);
    1.97      __ xorl(c_rarg2, c_rarg2);
    1.98 -    __ cmpq(src, 0);
    1.99 -    __ cmovq(Assembler::notEqual, c_rarg2, rax);
   1.100 +    __ cmpptr(src, 0);
   1.101 +    __ cmov(Assembler::notEqual, c_rarg2, rax);
   1.102      _num_args++;
   1.103      break;
   1.104    case 2:
   1.105 -    __ leaq(rax, src);
   1.106 +    __ lea(rax, src);
   1.107      __ xorl(c_rarg3, c_rarg3);
   1.108 -    __ cmpq(src, 0);
   1.109 -    __ cmovq(Assembler::notEqual, c_rarg3, rax);
   1.110 +    __ cmpptr(src, 0);
   1.111 +    __ cmov(Assembler::notEqual, c_rarg3, rax);
   1.112      _num_args++;
   1.113      break;
   1.114    default:
   1.115 -    __ leaq(rax, src);
   1.116 +    __ lea(rax, src);
   1.117      __ xorl(temp(), temp());
   1.118 -    __ cmpq(src, 0);
   1.119 -    __ cmovq(Assembler::notEqual, temp(), rax);
   1.120 -    __ movq(Address(to(), _stack_offset), temp());
   1.121 +    __ cmpptr(src, 0);
   1.122 +    __ cmov(Assembler::notEqual, temp(), rax);
   1.123 +    __ movptr(Address(to(), _stack_offset), temp());
   1.124      _stack_offset += wordSize;
   1.125      break;
   1.126    }
   1.127 @@ -223,43 +223,43 @@
   1.128    switch (_num_int_args) {
   1.129    case 0:
   1.130      assert(offset() == 0, "argument register 1 can only be (non-null) receiver");
   1.131 -    __ leaq(c_rarg1, src);
   1.132 +    __ lea(c_rarg1, src);
   1.133      _num_int_args++;
   1.134      break;
   1.135    case 1:
   1.136 -    __ leaq(rax, src);
   1.137 +    __ lea(rax, src);
   1.138      __ xorl(c_rarg2, c_rarg2);
   1.139 -    __ cmpq(src, 0);
   1.140 -    __ cmovq(Assembler::notEqual, c_rarg2, rax);
   1.141 +    __ cmpptr(src, 0);
   1.142 +    __ cmov(Assembler::notEqual, c_rarg2, rax);
   1.143      _num_int_args++;
   1.144      break;
   1.145    case 2:
   1.146 -    __ leaq(rax, src);
   1.147 +    __ lea(rax, src);
   1.148      __ xorl(c_rarg3, c_rarg3);
   1.149 -    __ cmpq(src, 0);
   1.150 -    __ cmovq(Assembler::notEqual, c_rarg3, rax);
   1.151 +    __ cmpptr(src, 0);
   1.152 +    __ cmov(Assembler::notEqual, c_rarg3, rax);
   1.153      _num_int_args++;
   1.154      break;
   1.155    case 3:
   1.156 -    __ leaq(rax, src);
   1.157 +    __ lea(rax, src);
   1.158      __ xorl(c_rarg4, c_rarg4);
   1.159 -    __ cmpq(src, 0);
   1.160 -    __ cmovq(Assembler::notEqual, c_rarg4, rax);
   1.161 +    __ cmpptr(src, 0);
   1.162 +    __ cmov(Assembler::notEqual, c_rarg4, rax);
   1.163      _num_int_args++;
   1.164      break;
   1.165    case 4:
   1.166 -    __ leaq(rax, src);
   1.167 +    __ lea(rax, src);
   1.168      __ xorl(c_rarg5, c_rarg5);
   1.169 -    __ cmpq(src, 0);
   1.170 -    __ cmovq(Assembler::notEqual, c_rarg5, rax);
   1.171 +    __ cmpptr(src, 0);
   1.172 +    __ cmov(Assembler::notEqual, c_rarg5, rax);
   1.173      _num_int_args++;
   1.174      break;
   1.175    default:
   1.176 -    __ leaq(rax, src);
   1.177 +    __ lea(rax, src);
   1.178      __ xorl(temp(), temp());
   1.179 -    __ cmpq(src, 0);
   1.180 -    __ cmovq(Assembler::notEqual, temp(), rax);
   1.181 -    __ movq(Address(to(), _stack_offset), temp());
   1.182 +    __ cmpptr(src, 0);
   1.183 +    __ cmov(Assembler::notEqual, temp(), rax);
   1.184 +    __ movptr(Address(to(), _stack_offset), temp());
   1.185      _stack_offset += wordSize;
   1.186      break;
   1.187    }

mercurial