src/share/vm/opto/superword.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/superword.cpp	Wed Jun 17 18:45:34 2015
--- new/src/share/vm/opto/superword.cpp	Wed Jun 17 18:45:34 2015

*** 182,203 **** --- 182,202 ---- is_slp = false; break; } if (n->is_Mem()) { Node* adr = n->in(MemNode::Address); Node* n_ctrl = _phase->get_ctrl(adr); // save a queue of post process nodes if (n_ctrl != NULL && lpt()->is_member(_phase->get_loop(n_ctrl))) { MemNode* current = n->as_Mem(); BasicType bt = current->memory_type(); if (is_java_primitive(bt) == false) { ignored_loop_nodes[i] = n->_idx; continue; } + Node* adr = n->in(MemNode::Address); + Node* n_ctrl = _phase->get_ctrl(adr); + // save a queue of post process nodes + if (n_ctrl != NULL && lpt()->is_member(_phase->get_loop(n_ctrl))) { // Process the memory expression int stack_idx = 0; bool have_side_effects = true; if (adr->is_AddP() == false) { nstack.push(adr, stack_idx++);
*** 232,243 **** --- 231,241 ---- BasicType bt; Node* n = lpt()->_body.at(i); if (n->is_Store()) { bt = n->as_Mem()->memory_type(); } else { + } else { bt = n->bottom_type()->basic_type(); } int cur_max_vector = Matcher::max_vector_size(bt);

src/share/vm/opto/superword.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File