src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
changeset 49754 ee93c1087584
parent 49748 6a880e576856
child 49816 a3e79f97e86b
equal deleted inserted replaced
49753:46f2dc7c4c39 49754:ee93c1087584
    27 
    27 
    28 #include "precompiled.hpp"
    28 #include "precompiled.hpp"
    29 #include "jvm.h"
    29 #include "jvm.h"
    30 #include "asm/assembler.hpp"
    30 #include "asm/assembler.hpp"
    31 #include "asm/assembler.inline.hpp"
    31 #include "asm/assembler.inline.hpp"
       
    32 #include "gc/shared/barrierSet.hpp"
    32 #include "gc/shared/cardTable.hpp"
    33 #include "gc/shared/cardTable.hpp"
    33 #include "gc/shared/barrierSetAssembler.hpp"
    34 #include "gc/shared/barrierSetAssembler.hpp"
    34 #include "gc/shared/cardTableBarrierSet.hpp"
    35 #include "gc/shared/cardTableBarrierSet.hpp"
    35 #include "interpreter/interpreter.hpp"
    36 #include "interpreter/interpreter.hpp"
    36 #include "compiler/disassembler.hpp"
    37 #include "compiler/disassembler.hpp"
  2090 #endif
  2091 #endif
  2091 }
  2092 }
  2092 #endif
  2093 #endif
  2093 
  2094 
  2094 void MacroAssembler::resolve_jobject(Register value, Register thread, Register tmp) {
  2095 void MacroAssembler::resolve_jobject(Register value, Register thread, Register tmp) {
  2095   BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
  2096   BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
  2096   Label done, not_weak;
  2097   Label done, not_weak;
  2097   cbz(value, done);           // Use NULL as-is.
  2098   cbz(value, done);           // Use NULL as-is.
  2098 
  2099 
  2099   STATIC_ASSERT(JNIHandles::weak_tag_mask == 1u);
  2100   STATIC_ASSERT(JNIHandles::weak_tag_mask == 1u);
  2100   tbz(r0, 0, not_weak);    // Test for jweak tag.
  2101   tbz(r0, 0, not_weak);    // Test for jweak tag.
  4314   byte_offset = (unsigned long)dest.target() & 0xfff;
  4315   byte_offset = (unsigned long)dest.target() & 0xfff;
  4315 }
  4316 }
  4316 
  4317 
  4317 void MacroAssembler::load_byte_map_base(Register reg) {
  4318 void MacroAssembler::load_byte_map_base(Register reg) {
  4318   jbyte *byte_map_base =
  4319   jbyte *byte_map_base =
  4319     ((CardTableBarrierSet*)(Universe::heap()->barrier_set()))->card_table()->byte_map_base();
  4320     ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base();
  4320 
  4321 
  4321   if (is_valid_AArch64_address((address)byte_map_base)) {
  4322   if (is_valid_AArch64_address((address)byte_map_base)) {
  4322     // Strictly speaking the byte_map_base isn't an address at all,
  4323     // Strictly speaking the byte_map_base isn't an address at all,
  4323     // and it might even be negative.
  4324     // and it might even be negative.
  4324     unsigned long offset;
  4325     unsigned long offset;