[8] RFR: Fix ifdef -> if INCLUDE_ALL_GCS in Shenandoah x86_32 code

Roman Kennke rkennke at redhat.com
Mon Nov 4 13:15:30 UTC 2019


Yes, good!

Thanks,
Roman


> Little follow-up in sh/jdk8: I messed up by using #ifdef instead of #if. This is not catastrophic so
> far, but it exposes UseShenandoahGC blocks unnecessarily.
> 
> Fix:
> 
> diff -r 37548f3acb7c src/cpu/x86/vm/stubGenerator_x86_32.cpp
> --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Mon Nov 04 12:03:31 2019 +0100
> +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp	Mon Nov 04 12:25:35 2019 +0100
> @@ -39,4 +39,5 @@
>  #include "runtime/stubRoutines.hpp"
>  #include "runtime/thread.inline.hpp"
> +#include "utilities/macros.hpp"
>  #include "utilities/top.hpp"
>  #ifdef COMPILER2
> @@ -1487,5 +1488,5 @@
>      __ movptr(to_element_addr, elem);     // store the oop
>      __ increment(count);                // increment the count toward zero
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>      if (UseShenandoahGC) {
>        // Shenandoah barrier is too big for 8-bit offsets to work
> @@ -1497,5 +1498,5 @@
>      // ======== loop entry is here ========
>      __ BIND(L_load_element);
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>      if (UseShenandoahGC) {
>        // Needs GC barriers
> @@ -1505,5 +1506,5 @@
>      __ movptr(elem, from_element_addr);   // load the oop
>      __ testptr(elem, elem);
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>      if (UseShenandoahGC) {
>        // Shenandoah barrier is too big for 8-bit offsets to work
> diff -r 37548f3acb7c src/cpu/x86/vm/templateInterpreter_x86_32.cpp
> --- a/src/cpu/x86/vm/templateInterpreter_x86_32.cpp	Mon Nov 04 12:03:31 2019 +0100
> +++ b/src/cpu/x86/vm/templateInterpreter_x86_32.cpp	Mon Nov 04 12:25:35 2019 +0100
> @@ -748,5 +748,5 @@
>      __ bind(notChar);
> 
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>      if (UseShenandoahGC) {
>        Label notObj;
> @@ -854,5 +854,5 @@
>      // Load the value of the referent field.
>      const Address field_address(rax, referent_offset);
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>      if (UseShenandoahGC) {
>        // Needs GC barriers
> diff -r 37548f3acb7c src/cpu/x86/vm/templateTable_x86_32.cpp
> --- a/src/cpu/x86/vm/templateTable_x86_32.cpp	Mon Nov 04 12:03:31 2019 +0100
> +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp	Mon Nov 04 12:25:35 2019 +0100
> @@ -670,5 +670,5 @@
>    index_check(rdx, rax);  // kills rbx,
>    // rax,: index
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>    if (UseShenandoahGC) {
>      // Needs GC barriers
> @@ -2312,5 +2312,5 @@
>    __ jcc(Assembler::notEqual, notObj);
> 
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>    if (UseShenandoahGC) {
>      // Needs GC barriers
> @@ -2887,5 +2887,5 @@
>      case Bytecodes::_fast_dgetfield: __ fld_d(lo);                        break;
>      case Bytecodes::_fast_agetfield:
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>        if (UseShenandoahGC) {
>          // Needs GC barriers
> @@ -2921,5 +2921,5 @@
>      __ movl(rax, lo);
>    } else if (state == atos) {
> -#ifdef INCLUDE_ALL_GCS
> +#if INCLUDE_ALL_GCS
>      if (UseShenandoahGC) {
>        // Needs GC barriers
> 
> Testing: x86_32 hotspot_gc_shenandoah; minimal1 build
> 



More information about the shenandoah-dev mailing list