< prev index next >

src/hotspot/cpu/arm/macroAssembler_arm.cpp

G1BarrierSet_merge

26 #include "asm/assembler.inline.hpp"                                                                                                  
27 #include "asm/macroAssembler.hpp"                                                                                                    
28 #include "ci/ciEnv.hpp"                                                                                                              
29 #include "code/nativeInst.hpp"                                                                                                       
30 #include "compiler/disassembler.hpp"                                                                                                 
31 #include "gc/shared/cardTable.hpp"                                                                                                   
32 #include "gc/shared/cardTableModRefBS.hpp"                                                                                           
33 #include "gc/shared/collectedHeap.inline.hpp"                                                                                        
34 #include "interpreter/interpreter.hpp"                                                                                               
35 #include "memory/resourceArea.hpp"                                                                                                   
36 #include "oops/klass.inline.hpp"                                                                                                     
37 #include "prims/methodHandles.hpp"                                                                                                   
38 #include "runtime/biasedLocking.hpp"                                                                                                 
39 #include "runtime/interfaceSupport.hpp"                                                                                              
40 #include "runtime/objectMonitor.hpp"                                                                                                 
41 #include "runtime/os.hpp"                                                                                                            
42 #include "runtime/sharedRuntime.hpp"                                                                                                 
43 #include "runtime/stubRoutines.hpp"                                                                                                  
44 #include "utilities/macros.hpp"                                                                                                      
45 #if INCLUDE_ALL_GCS                                                                                                                  
                                                                                                                                     
46 #include "gc/g1/g1CardTable.hpp"                                                                                                     
47 #include "gc/g1/g1CollectedHeap.inline.hpp"                                                                                          
48 #include "gc/g1/g1SATBCardTableModRefBS.hpp"                                                                                         
49 #include "gc/g1/heapRegion.hpp"                                                                                                      
50 #endif                                                                                                                               
51 
52 // Implementation of AddressLiteral                                                                                                  
53 
54 void AddressLiteral::set_rspec(relocInfo::relocType rtype) {                                                                         
55   switch (rtype) {                                                                                                                   
56   case relocInfo::oop_type:                                                                                                          
57     // Oops are a special case. Normally they would be their own section                                                             
58     // but in cases like icBuffer they are literals in the code stream that                                                          
59     // we don't have a section for. We use none so that we get a literal address                                                     
60     // which is always patchable.                                                                                                    
61     break;                                                                                                                           
62   case relocInfo::external_word_type:                                                                                                
63     _rspec = external_word_Relocation::spec(_target);                                                                                
64     break;                                                                                                                           
65   case relocInfo::internal_word_type:                                                                                                
66     _rspec = internal_word_Relocation::spec(_target);                                                                                
67     break;                                                                                                                           

26 #include "asm/assembler.inline.hpp"
27 #include "asm/macroAssembler.hpp"
28 #include "ci/ciEnv.hpp"
29 #include "code/nativeInst.hpp"
30 #include "compiler/disassembler.hpp"
31 #include "gc/shared/cardTable.hpp"
32 #include "gc/shared/cardTableModRefBS.hpp"
33 #include "gc/shared/collectedHeap.inline.hpp"
34 #include "interpreter/interpreter.hpp"
35 #include "memory/resourceArea.hpp"
36 #include "oops/klass.inline.hpp"
37 #include "prims/methodHandles.hpp"
38 #include "runtime/biasedLocking.hpp"
39 #include "runtime/interfaceSupport.hpp"
40 #include "runtime/objectMonitor.hpp"
41 #include "runtime/os.hpp"
42 #include "runtime/sharedRuntime.hpp"
43 #include "runtime/stubRoutines.hpp"
44 #include "utilities/macros.hpp"
45 #if INCLUDE_ALL_GCS
46 #include "gc/g1/g1BarrierSet.hpp"
47 #include "gc/g1/g1CardTable.hpp"
48 #include "gc/g1/g1CollectedHeap.inline.hpp"

49 #include "gc/g1/heapRegion.hpp"
50 #endif
51 
52 // Implementation of AddressLiteral
53 
54 void AddressLiteral::set_rspec(relocInfo::relocType rtype) {
55   switch (rtype) {
56   case relocInfo::oop_type:
57     // Oops are a special case. Normally they would be their own section
58     // but in cases like icBuffer they are literals in the code stream that
59     // we don't have a section for. We use none so that we get a literal address
60     // which is always patchable.
61     break;
62   case relocInfo::external_word_type:
63     _rspec = external_word_Relocation::spec(_target);
64     break;
65   case relocInfo::internal_word_type:
66     _rspec = internal_word_Relocation::spec(_target);
67     break;
< prev index next >