< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp

G1BarrierSet_merge

29 #include "asm/assembler.hpp"                                                                                                         
30 #include "asm/assembler.inline.hpp"                                                                                                  
31 #include "gc/shared/cardTable.hpp"                                                                                                   
32 #include "gc/shared/cardTableModRefBS.hpp"                                                                                           
33 #include "interpreter/interpreter.hpp"                                                                                               
34 #include "compiler/disassembler.hpp"                                                                                                 
35 #include "memory/resourceArea.hpp"                                                                                                   
36 #include "nativeInst_aarch64.hpp"                                                                                                    
37 #include "oops/klass.inline.hpp"                                                                                                     
38 #include "oops/oop.inline.hpp"                                                                                                       
39 #include "opto/compile.hpp"                                                                                                          
40 #include "opto/intrinsicnode.hpp"                                                                                                    
41 #include "opto/node.hpp"                                                                                                             
42 #include "runtime/biasedLocking.hpp"                                                                                                 
43 #include "runtime/icache.hpp"                                                                                                        
44 #include "runtime/interfaceSupport.hpp"                                                                                              
45 #include "runtime/sharedRuntime.hpp"                                                                                                 
46 #include "runtime/thread.hpp"                                                                                                        
47 
48 #if INCLUDE_ALL_GCS                                                                                                                  
                                                                                                                                     
49 #include "gc/g1/g1CardTable.hpp"                                                                                                     
50 #include "gc/g1/g1CollectedHeap.inline.hpp"                                                                                          
51 #include "gc/g1/g1SATBCardTableModRefBS.hpp"                                                                                         
52 #include "gc/g1/heapRegion.hpp"                                                                                                      
53 #endif                                                                                                                               
54 
55 #ifdef PRODUCT                                                                                                                       
56 #define BLOCK_COMMENT(str) /* nothing */                                                                                             
57 #define STOP(error) stop(error)                                                                                                      
58 #else                                                                                                                                
59 #define BLOCK_COMMENT(str) block_comment(str)                                                                                        
60 #define STOP(error) block_comment(error); stop(error)                                                                                
61 #endif                                                                                                                               
62 
63 #define BIND(label) bind(label); BLOCK_COMMENT(#label ":")                                                                           
64 
65 // Patch any kind of instruction; there may be several instructions.                                                                 
66 // Return the total length (in bytes) of the instructions.                                                                           
67 int MacroAssembler::pd_patch_instruction_size(address branch, address target) {                                                      
68   int instructions = 1;                                                                                                              
69   assert((uint64_t)target < (1ul << 48), "48-bit overflow in address constant");                                                     
70   long offset = (target - branch) >> 2;                                                                                              

29 #include "asm/assembler.hpp"
30 #include "asm/assembler.inline.hpp"
31 #include "gc/shared/cardTable.hpp"
32 #include "gc/shared/cardTableModRefBS.hpp"
33 #include "interpreter/interpreter.hpp"
34 #include "compiler/disassembler.hpp"
35 #include "memory/resourceArea.hpp"
36 #include "nativeInst_aarch64.hpp"
37 #include "oops/klass.inline.hpp"
38 #include "oops/oop.inline.hpp"
39 #include "opto/compile.hpp"
40 #include "opto/intrinsicnode.hpp"
41 #include "opto/node.hpp"
42 #include "runtime/biasedLocking.hpp"
43 #include "runtime/icache.hpp"
44 #include "runtime/interfaceSupport.hpp"
45 #include "runtime/sharedRuntime.hpp"
46 #include "runtime/thread.hpp"
47 
48 #if INCLUDE_ALL_GCS
49 #include "gc/g1/g1BarrierSet.hpp"
50 #include "gc/g1/g1CardTable.hpp"
51 #include "gc/g1/g1CollectedHeap.inline.hpp"

52 #include "gc/g1/heapRegion.hpp"
53 #endif
54 
55 #ifdef PRODUCT
56 #define BLOCK_COMMENT(str) /* nothing */
57 #define STOP(error) stop(error)
58 #else
59 #define BLOCK_COMMENT(str) block_comment(str)
60 #define STOP(error) block_comment(error); stop(error)
61 #endif
62 
63 #define BIND(label) bind(label); BLOCK_COMMENT(#label ":")
64 
65 // Patch any kind of instruction; there may be several instructions.
66 // Return the total length (in bytes) of the instructions.
67 int MacroAssembler::pd_patch_instruction_size(address branch, address target) {
68   int instructions = 1;
69   assert((uint64_t)target < (1ul << 48), "48-bit overflow in address constant");
70   long offset = (target - branch) >> 2;
< prev index next >