RFR (M): 8220301: Remove jbyte use in CardTable (affects all platforms)

Aleksey Shipilev shade at redhat.com
Fri Mar 8 16:58:43 UTC 2019


On 3/8/19 2:51 PM, Thomas Schatzl wrote:
> While the change itself is a no-op in practice, and testing showed so,
> I would like non-Oracle platform maintainers to try to compile the
> change and report problems because of lack of build platforms.
> 
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8220301
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8220301/webrev/

Not sure why do we need to drag CardTable::CardValue all over the place, and then STATIC_ASSERT its
size, when we could "just" do uint8_t everywhere?

Anyway, these configs build fine:
  linux-aarch64-server-fastdebug
  linux-arm-server-fastdebug
  linux-s390x-server-fastdebug
  linux-x86-server-fastdebug
  linux-x86_64-minimal-fastdebug
  linux-x86_64-zero-fastdebug

And linux-ppc64le-server-fastdebug fails with:

In file included
 from /home/shade/jdk-jdk/src/hotspot/share/gc/shared/cardTableBarrierSetAssembler.hpp:30:0,
 from /home/shade/jdk-jdk/src/hotspot/share/gc/shared/cardTableBarrierSet.cpp:26:
/home/shade/jdk-jdk/src/hotspot/cpu/ppc/gc/shared/cardTableBarrierSetAssembler_ppc.hpp:37:47: error:
‘CardTable’ has not been declared
   void card_table_write(MacroAssembler* masm, CardTable::CardValue* byte_map_base, Register tmp,
Register obj);
                                               ^~~~~~~~~

It passes with this addendum:

diff -r 1ee9ea03b3a5 src/hotspot/share/gc/shared/cardTableBarrierSet.cpp
--- a/src/hotspot/share/gc/shared/cardTableBarrierSet.cpp	Fri Mar 08 16:44:31 2019 +0100
+++ b/src/hotspot/share/gc/shared/cardTableBarrierSet.cpp	Fri Mar 08 17:42:10 2019 +0100
@@ -23,6 +23,7 @@
  */

 #include "precompiled.hpp"
+#include "gc/shared/cardTable.hpp"
 #include "gc/shared/cardTableBarrierSetAssembler.hpp"
 #include "gc/shared/cardTableBarrierSet.inline.hpp"
 #include "gc/shared/collectedHeap.hpp"


-Aleksey



More information about the hotspot-dev mailing list