Heads-up: barriers for constants crash C2

Aleksey Shipilev shade at redhat.com
Mon Jun 12 17:00:35 UTC 2017


On 06/12/2017 05:17 PM, Roland Westrelin wrote:
> Fix is below. I will have it go through more testing before I push it.
> 
> Roland.
> 
> diff --git a/src/share/vm/opto/shenandoahSupport.cpp b/src/share/vm/opto/shenandoahSupport.cpp
> --- a/src/share/vm/opto/shenandoahSupport.cpp
> +++ b/src/share/vm/opto/shenandoahSupport.cpp
> @@ -3729,7 +3729,7 @@
>      test_evacuation_in_progress(ctrl, alias, raw_mem, wb_mem, evacuation_iff, evac_in_progress, evac_not_in_progress, phase);
>  
>      Node* region = new RegionNode(4);
> -    Node* val_phi = PhiNode::make_blank(region, val);
> +    Node* val_phi = new PhiNode(region, val->bottom_type()->is_oopptr()->cast_to_nonconst());
>      Node* mem_phi = PhiNode::make(region, wb_mem, Type::MEMORY, phase->C->alias_type(wb->adr_type())->adr_type());
>      Node* raw_mem_phi = PhiNode::make(region, raw_mem, Type::MEMORY, TypeRawPtr::BOTTOM);

Thanks, seems to help:
 - failing test
 - specjvm2008 fastdebug/release

Thanks,
-Aleksey




More information about the shenandoah-dev mailing list