src/cpu/x86/vm/stubGenerator_x86_32.cpp

changeset 6312
04d32e7fad07
parent 5528
740e263c80c6
child 6876
710a3c8b516e
child 7816
5f8824f56f39
     1.1 --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Fri Feb 14 16:17:22 2014 +0100
     1.2 +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Tue Jan 14 17:46:48 2014 -0800
     1.3 @@ -2403,6 +2403,9 @@
     1.4    //   c_rarg3   - r vector byte array address
     1.5    //   c_rarg4   - input length
     1.6    //
     1.7 +  // Output:
     1.8 +  //   rax       - input length
     1.9 +  //
    1.10    address generate_cipherBlockChaining_encryptAESCrypt() {
    1.11      assert(UseAES, "need AES instructions and misaligned SSE support");
    1.12      __ align(CodeEntryAlignment);
    1.13 @@ -2483,7 +2486,7 @@
    1.14      __ movdqu(Address(rvec, 0), xmm_result);     // final value of r stored in rvec of CipherBlockChaining object
    1.15  
    1.16      handleSOERegisters(false /*restoring*/);
    1.17 -    __ movl(rax, 0);                             // return 0 (why?)
    1.18 +    __ movptr(rax, len_param); // return length
    1.19      __ leave();                                  // required for proper stackwalking of RuntimeStub frame
    1.20      __ ret(0);
    1.21  
    1.22 @@ -2557,6 +2560,9 @@
    1.23    //   c_rarg3   - r vector byte array address
    1.24    //   c_rarg4   - input length
    1.25    //
    1.26 +  // Output:
    1.27 +  //   rax       - input length
    1.28 +  //
    1.29  
    1.30    address generate_cipherBlockChaining_decryptAESCrypt() {
    1.31      assert(UseAES, "need AES instructions and misaligned SSE support");
    1.32 @@ -2650,7 +2656,7 @@
    1.33      __ movptr(rvec , rvec_param);                                     // restore this since used in loop
    1.34      __ movdqu(Address(rvec, 0), xmm_temp);                            // final value of r stored in rvec of CipherBlockChaining object
    1.35      handleSOERegisters(false /*restoring*/);
    1.36 -    __ movl(rax, 0);                                                  // return 0 (why?)
    1.37 +    __ movptr(rax, len_param); // return length
    1.38      __ leave();                                                       // required for proper stackwalking of RuntimeStub frame
    1.39      __ ret(0);
    1.40  

mercurial