# HG changeset patch # User Doug Simon # Date 1375886116 -7200 # Node ID 2d4df4c43ae20e83b35aaa68085e3e1dba814137 # Parent d89a5dbaaaf6af187fbfc7d95c2b8dbe1f573351 fixed bug in java.util.zip.CRC32.updateBytes stub: non-scratch register c_arg3 (i.e. rcx on Unix) was being used, overwriting a live value diff -r d89a5dbaaaf6 -r 2d4df4c43ae2 src/cpu/x86/vm/stubGenerator_x86_64.cpp --- a/src/cpu/x86/vm/stubGenerator_x86_64.cpp Wed Aug 07 10:59:10 2013 +0200 +++ b/src/cpu/x86/vm/stubGenerator_x86_64.cpp Wed Aug 07 16:35:16 2013 +0200 @@ -3647,8 +3647,8 @@ const Register crc = c_rarg0; // crc const Register buf = c_rarg1; // source java byte array address const Register len = c_rarg2; // length - const Register table = c_rarg3; // crc_table address (reuse register) - const Register tmp = r11; + const Register table = rscratch1;// crc_table address + const Register tmp = rscratch2; assert_different_registers(crc, buf, len, table, tmp, rax); BLOCK_COMMENT("Entry:");