Code Review for 7056380

Prepared by:never on Mon Jun 20 17:39:20 PDT 2011
Workspace:/net/smite.us.oracle.com/export/ws/baseline
Compare against: ssh://hg.openjdk.java.net/hsx/hotspot-comp-gate/hotspot
Summary of changes: 55 lines changed: 20 ins; 30 del; 5 mod; 24757 unchg
Patch of changes: 7056380.patch
Author comments:
7056380: VM crashes with SIGSEGV in compiled code
Summary: code was using andq reg, imm instead of addq addr, imm
Reviewed-by:

In the changes for 6961690 a copy of cmpfp_fixup was moved inline but
was translated incorrectly so that it was and'ing rsp instead of
(rsp). This would cause garbage to be popped into the flags and
corrupt rsp. Depending on the OS and values involved you would die at
the next of use the flags or later after a return. The fix is to use
the right andq form. I also converted the cmpfp_fixup code into
MacroAssembler so that it was obviously equivalent. Tested with
failing test case and by inspection of the resulting assembly.

Bug id: 7056380 VM crashes with SIGSEGV in compiled code
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/assembler_x86.hpp

1 line changed: 1 ins; 0 del; 0 mod; 2414 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/assembler_x86.cpp

8 lines changed: 8 ins; 0 del; 0 mod; 9628 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/x86_64.ad

46 lines changed: 11 ins; 30 del; 5 mod; 12715 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).