comparison src/share/vm/opto/divnode.cpp @ 756:cecd04fc6f93

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
author twisti
date Wed, 06 May 2009 12:04:42 -0700
parents 98cb887364d3
children 174ade00803b
comparison
equal deleted inserted replaced
755:36ee9b69616e 756:cecd04fc6f93
296 // w2 = t >> 32; 296 // w2 = t >> 32;
297 Node* w2 = new (phase->C, 3) RShiftLNode(t, phase->intcon(N / 2)); 297 Node* w2 = new (phase->C, 3) RShiftLNode(t, phase->intcon(N / 2));
298 298
299 // 6732154: Construct both w1 and w2 before transforming, so t 299 // 6732154: Construct both w1 and w2 before transforming, so t
300 // doesn't go dead prematurely. 300 // doesn't go dead prematurely.
301 // 6837011: We need to transform w2 before w1 because the
302 // transformation of w1 could return t.
303 w2 = phase->transform(w2);
301 w1 = phase->transform(w1); 304 w1 = phase->transform(w1);
302 w2 = phase->transform(w2);
303 305
304 // w1 = u0*v1 + w1; 306 // w1 = u0*v1 + w1;
305 Node* u0v1 = phase->transform(new (phase->C, 3) MulLNode(u0, v1)); 307 Node* u0v1 = phase->transform(new (phase->C, 3) MulLNode(u0, v1));
306 w1 = phase->transform(new (phase->C, 3) AddLNode(u0v1, w1)); 308 w1 = phase->transform(new (phase->C, 3) AddLNode(u0v1, w1));
307 309