src/hotspot/cpu/sparc/macroAssembler_sparc.cpp
changeset 49455 848864ed9b17
parent 49449 ef5d5d343e2a
child 49623 5555ba8fcc5c
equal deleted inserted replaced
49454:689ebcfe04fd 49455:848864ed9b17
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "jvm.h"
    26 #include "jvm.h"
    27 #include "asm/macroAssembler.inline.hpp"
    27 #include "asm/macroAssembler.inline.hpp"
    28 #include "compiler/disassembler.hpp"
    28 #include "compiler/disassembler.hpp"
    29 #include "gc/shared/cardTable.hpp"
    29 #include "gc/shared/cardTable.hpp"
    30 #include "gc/shared/cardTableModRefBS.hpp"
    30 #include "gc/shared/cardTableBarrierSet.hpp"
    31 #include "gc/shared/collectedHeap.inline.hpp"
    31 #include "gc/shared/collectedHeap.inline.hpp"
    32 #include "interpreter/interpreter.hpp"
    32 #include "interpreter/interpreter.hpp"
    33 #include "memory/resourceArea.hpp"
    33 #include "memory/resourceArea.hpp"
    34 #include "memory/universe.hpp"
    34 #include "memory/universe.hpp"
    35 #include "oops/klass.inline.hpp"
    35 #include "oops/klass.inline.hpp"
  3727 ///////////////////////////////////////////////////////////////////////////////////
  3727 ///////////////////////////////////////////////////////////////////////////////////
  3728 
  3728 
  3729 void MacroAssembler::card_write_barrier_post(Register store_addr, Register new_val, Register tmp) {
  3729 void MacroAssembler::card_write_barrier_post(Register store_addr, Register new_val, Register tmp) {
  3730   // If we're writing constant NULL, we can skip the write barrier.
  3730   // If we're writing constant NULL, we can skip the write barrier.
  3731   if (new_val == G0) return;
  3731   if (new_val == G0) return;
  3732   CardTableModRefBS* bs =
  3732   CardTableBarrierSet* bs =
  3733     barrier_set_cast<CardTableModRefBS>(Universe::heap()->barrier_set());
  3733     barrier_set_cast<CardTableBarrierSet>(Universe::heap()->barrier_set());
  3734   CardTable* ct = bs->card_table();
  3734   CardTable* ct = bs->card_table();
  3735 
  3735 
  3736   assert(bs->kind() == BarrierSet::CardTableModRef, "wrong barrier");
  3736   assert(bs->kind() == BarrierSet::CardTableBarrierSet, "wrong barrier");
  3737   card_table_write(ct->byte_map_base(), tmp, store_addr);
  3737   card_table_write(ct->byte_map_base(), tmp, store_addr);
  3738 }
  3738 }
  3739 
  3739 
  3740 // ((OopHandle)result).resolve();
  3740 // ((OopHandle)result).resolve();
  3741 void MacroAssembler::resolve_oop_handle(Register result) {
  3741 void MacroAssembler::resolve_oop_handle(Register result) {