[aarch64-port-dev ] AArch64 build is broken
Schmidt, Lutz
lutz.schmidt at sap.com
Thu May 9 16:46:08 UTC 2019
S390 is affected as well. C1_LIRAssembler_s390.cpp is missing universe.hpp.
Checking other platforms...
Regards,
Lutz
On 09.05.19, 18:20, "hotspot-dev on behalf of Stefan Karlsson" <hotspot-dev-bounces at openjdk.java.net on behalf of stefan.karlsson at oracle.com> wrote:
I searched for references to Universe::narrow and also found a reference
in the PPC code:
diff --git a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp
b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp
--- a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp
+++ b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp
@@ -36,6 +36,7 @@
#include "gc/shared/barrierSet.hpp"
#include "gc/shared/cardTableBarrierSet.hpp"
#include "nativeInst_ppc.hpp"
+#include "oops/compressedOops.hpp"
#include "oops/objArrayKlass.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/safepointMechanism.inline.hpp"
@@ -1237,7 +1238,7 @@
int disp_value = addr->disp();
bool needs_patching = (patch_code != lir_patch_none);
bool compress_oop = (type == T_ARRAY || type == T_OBJECT) &&
UseCompressedOops && !wide &&
- Universe::narrow_oop_mode() !=
Universe::UnscaledNarrowOop;
+ CompressedOops::mode() !=
Universe::UnscaledNarrowOop;
bool load_disp = addr->index()->is_illegal() &&
!Assembler::is_simm16(disp_value);
bool use_R29 = compress_oop && load_disp; // Avoid register
conflict, also do null check before killing R29.
// Null check for large offsets in LIRGenerator::do_StoreField.
I created a bug entry for this:
https://bugs.openjdk.java.net/browse/JDK-8223637
StefanK
On 2019-05-09 16:59, Andrew Haley wrote:
> I'm testing this patch:
>
> diff -r 77e95181b5d6 src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp
> --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp Thu May 09 07:33:28 2019 -0700
> +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp Thu May 09 10:58:02 2019 -0400
> @@ -27,6 +27,7 @@
> #define CPU_AARCH64_MACROASSEMBLER_AARCH64_HPP
>
> #include "asm/assembler.hpp"
> +#include "oops/compressedOops.hpp"
>
> // MacroAssembler extends Assembler by frequently used macros.
> //
> @@ -85,10 +86,10 @@
> public:
> MacroAssembler(CodeBuffer* code) : Assembler(code) {
> use_XOR_for_compressed_class_base
> - = (operand_valid_for_logical_immediate(false /*is32*/,
> - (uint64_t)Universe::narrow_klass_base())
> - && ((uint64_t)Universe::narrow_klass_base()
> - > (1UL << log2_intptr(Universe::narrow_klass_range()))));
> + = operand_valid_for_logical_immediate
> + (/*is32*/false, (uint64_t)CompressedKlassPointers::base())
> + && ((uint64_t)CompressedKlassPointers::base()
> + > (1UL << log2_intptr(CompressedKlassPointers::range())));
> }
>
> // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code.
>
More information about the aarch64-port-dev
mailing list