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