hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp
changeset 15482 470d0b0c09f1
parent 15117 625397df6f4f
child 15483 113ca9e9c1bb
equal deleted inserted replaced
15224:0f9e3436040d 15482:470d0b0c09f1
    24 
    24 
    25 #ifndef CPU_X86_VM_MACROASSEMBLER_X86_HPP
    25 #ifndef CPU_X86_VM_MACROASSEMBLER_X86_HPP
    26 #define CPU_X86_VM_MACROASSEMBLER_X86_HPP
    26 #define CPU_X86_VM_MACROASSEMBLER_X86_HPP
    27 
    27 
    28 #include "asm/assembler.hpp"
    28 #include "asm/assembler.hpp"
       
    29 #include "utilities/macros.hpp"
    29 
    30 
    30 
    31 
    31 // MacroAssembler extends Assembler by frequently used macros.
    32 // MacroAssembler extends Assembler by frequently used macros.
    32 //
    33 //
    33 // Instructions for which a 'better' code sequence exists depending
    34 // Instructions for which a 'better' code sequence exists depending
   292 
   293 
   293   // Stores
   294   // Stores
   294   void store_check(Register obj);                // store check for obj - register is destroyed afterwards
   295   void store_check(Register obj);                // store check for obj - register is destroyed afterwards
   295   void store_check(Register obj, Address dst);   // same as above, dst is exact store location (reg. is destroyed)
   296   void store_check(Register obj, Address dst);   // same as above, dst is exact store location (reg. is destroyed)
   296 
   297 
   297 #ifndef SERIALGC
   298 #if INCLUDE_ALL_GCS
   298 
   299 
   299   void g1_write_barrier_pre(Register obj,
   300   void g1_write_barrier_pre(Register obj,
   300                             Register pre_val,
   301                             Register pre_val,
   301                             Register thread,
   302                             Register thread,
   302                             Register tmp,
   303                             Register tmp,
   307                              Register new_val,
   308                              Register new_val,
   308                              Register thread,
   309                              Register thread,
   309                              Register tmp,
   310                              Register tmp,
   310                              Register tmp2);
   311                              Register tmp2);
   311 
   312 
   312 #endif // SERIALGC
   313 #endif // INCLUDE_ALL_GCS
   313 
   314 
   314   // split store_check(Register obj) to enhance instruction interleaving
   315   // split store_check(Register obj) to enhance instruction interleaving
   315   void store_check_part_1(Register obj);
   316   void store_check_part_1(Register obj);
   316   void store_check_part_2(Register obj);
   317   void store_check_part_2(Register obj);
   317 
   318