< prev index next >
src/hotspot/share/opto/mulnode.cpp
Print this page
rev 53258 : Cherry-pick: 8213473: Replace testB_mem_imm matcher with testUB_mem_imm plus Shenandoah parts
*** 29,42 ****
#include "opto/convertnode.hpp"
#include "opto/memnode.hpp"
#include "opto/mulnode.hpp"
#include "opto/phaseX.hpp"
#include "opto/subnode.hpp"
- #include "utilities/macros.hpp"
- #if INCLUDE_SHENANDOAHGC
- #include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp"
- #endif
// Portions of code courtesy of Clifford Click
//=============================================================================
--- 29,38 ----
*** 476,494 ****
if( !t2 || !t2->is_con() ) return MulNode::Ideal(phase, can_reshape);
const int mask = t2->get_con();
Node *load = in(1);
uint lop = load->Opcode();
- #if INCLUDE_SHENANDOAHGC
- if (UseShenandoahGC && ShenandoahWriteBarrierNode::is_gc_state_load(load)) {
- // Do not touch the load+mask, we would match the whole sequence exactly.
- // Converting the load to LoadUB/LoadUS would mismatch and waste a register
- // on the barrier fastpath.
- return NULL;
- }
- #endif
-
// Masking bits off of a Character? Hi bits are already zero.
if( lop == Op_LoadUS &&
(mask & 0xFFFF0000) ) // Can we make a smaller mask?
return new AndINode(load,phase->intcon(mask&0xFFFF));
--- 472,481 ----
< prev index next >