diff options
author | twisti <none@none> | 2009-05-06 12:04:42 -0700 |
---|---|---|
committer | twisti <none@none> | 2009-05-06 12:04:42 -0700 |
commit | 8b85bf69072a45b0446c503a9e7cd78e27f21249 (patch) | |
tree | f96519d488eea560e29f66c1f189de78493e757b /src/share/vm/opto | |
parent | d7486b20946f2391eb1d6d62cea4adc7d72e239c (diff) | |
download | jdk8u_hotspot-8b85bf69072a45b0446c503a9e7cd78e27f21249.tar.gz |
6837011: SIGSEGV in PhaseIdealLoop in 32bit jvm
Summary: The CR's test crashes with SIGSEGV when running with "-server -Xcomp" using using 32bit jvm.
Reviewed-by: kvn, never, rasbold
Diffstat (limited to 'src/share/vm/opto')
-rw-r--r-- | src/share/vm/opto/divnode.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/share/vm/opto/divnode.cpp b/src/share/vm/opto/divnode.cpp index 55350e11f..a81e3b194 100644 --- a/src/share/vm/opto/divnode.cpp +++ b/src/share/vm/opto/divnode.cpp @@ -298,8 +298,10 @@ static Node* long_by_long_mulhi(PhaseGVN* phase, Node* dividend, jlong magic_con // 6732154: Construct both w1 and w2 before transforming, so t // doesn't go dead prematurely. - w1 = phase->transform(w1); + // 6837011: We need to transform w2 before w1 because the + // transformation of w1 could return t. w2 = phase->transform(w2); + w1 = phase->transform(w1); // w1 = u0*v1 + w1; Node* u0v1 = phase->transform(new (phase->C, 3) MulLNode(u0, v1)); |