RFR [8u] Restore accidental revert of JDK-8180855

Roman Kennke rkennke at redhat.com
Wed Mar 21 18:51:03 UTC 2018


Am 21.03.2018 um 19:48 schrieb Aleksey Shipilev:
> Accidentally reverted this during the merge:
>   http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/1ae9e84f68b3
> 
> Restoring:
> 
> diff -r 8d009c095cb8 src/share/vm/compiler/oopMap.cpp
> --- a/src/share/vm/compiler/oopMap.cpp	Wed Mar 21 19:30:30 2018 +0100
> +++ b/src/share/vm/compiler/oopMap.cpp	Wed Mar 21 19:47:22 2018 +0100
> @@ -389,17 +389,16 @@
>          omv = oms.current();
>          oop* loc = fr->oopmapreg_to_location(omv.reg(),reg_map);
>          if ( loc != NULL ) {
> +          oop *derived_loc = loc;
>            oop *base_loc    = fr->oopmapreg_to_location(omv.content_reg(), reg_map);
> -          oop *derived_loc = loc;
> -          oop val = *base_loc;
> -          if (val == NULL || Universe::is_narrow_oop_base(val)) {
> -            // Ignore NULL oops and decoded NULL narrow oops which
> -            // equal to Universe::narrow_oop_base when a narrow oop
> -            // implicit null check is used in compiled code.
> -            // The narrow_oop_base could be NULL or be the address
> -            // of the page below heap depending on compressed oops mode.
> -          } else
> +          // Ignore NULL oops and decoded NULL narrow oops which
> +          // equal to Universe::narrow_oop_base when a narrow oop
> +          // implicit null check is used in compiled code.
> +          // The narrow_oop_base could be NULL or be the address
> +          // of the page below heap depending on compressed oops mode.
> +          if (base_loc != NULL && *base_loc != (oop)NULL && !Universe::is_narrow_oop_base(*base_loc)) {
>              derived_oop_fn(base_loc, derived_loc);
> +          }
>          }
>          oms.next();
>        }  while (!oms.is_done());
> 
> Thanks,
> -Aleksey
> 
ok



More information about the shenandoah-dev mailing list