# HG changeset patch # User Doug Simon # Date 1375806683 -7200 # Node ID e28663a9f5ef193282566982922b7892fb92b27a # Parent bd0e589a9a65f798c3b7ee7e34f327d36e7ce51a fixed bug in java.util.zip.CRC32.update(int b) interpreter entry stub and re-enabled CRC32 intrinsics diff -r bd0e589a9a65 -r e28663a9f5ef src/cpu/x86/vm/templateInterpreter_x86_64.cpp --- a/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Tue Aug 06 18:10:44 2013 +0200 +++ b/src/cpu/x86/vm/templateInterpreter_x86_64.cpp Tue Aug 06 18:31:23 2013 +0200 @@ -925,7 +925,7 @@ address entry = __ pc(); // rbx,: Method* - // rsi: senderSP must preserved for slow path, set SP to it on fast path + // r13: senderSP must preserved for slow path, set SP to it on fast path // rdx: scratch // rdi: scratch @@ -956,7 +956,7 @@ // _areturn __ pop(rdi); // get return address - __ mov(rsp, rsi); // set sp to sender sp + __ mov(rsp, r13); // set sp to sender sp __ jmp(rdi); // generate a vanilla native entry as the slow path diff -r bd0e589a9a65 -r e28663a9f5ef src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Tue Aug 06 18:10:44 2013 +0200 +++ b/src/share/vm/runtime/arguments.cpp Tue Aug 06 18:31:23 2013 +0200 @@ -2218,15 +2218,6 @@ warning("forcing ScavengeRootsInCode non-zero because Graal is enabled"); ScavengeRootsInCode = 1; } - - if (UseCRC32Intrinsics) { - // For some yet to be determined reason, enabling CRC32 intrinsics causes - // a Graal compiled call to 'static java.util.zip.CRC32.update(int crc, int b)' - // to crash the VM - warning("disabling CRC32 intrinsics because Graal is enabled"); - } - // This prevents the flag being set to true by VM_Version::get_processor_features() - FLAG_SET_CMDLINE(bool, UseCRC32Intrinsics, false); #endif // Need to limit the extent of the padding to reasonable size.