< prev index next >

src/hotspot/cpu/arm/c1_Runtime1_arm.cpp

G1BarrierSet_merge

25 #include "asm/macroAssembler.hpp"                                                                                                    
26 #include "c1/c1_Defs.hpp"                                                                                                            
27 #include "c1/c1_LIRAssembler.hpp"                                                                                                    
28 #include "c1/c1_MacroAssembler.hpp"                                                                                                  
29 #include "c1/c1_Runtime1.hpp"                                                                                                        
30 #include "ci/ciUtilities.hpp"                                                                                                        
31 #include "gc/shared/cardTable.hpp"                                                                                                   
32 #include "gc/shared/cardTableModRefBS.hpp"                                                                                           
33 #include "interpreter/interpreter.hpp"                                                                                               
34 #include "nativeInst_arm.hpp"                                                                                                        
35 #include "oops/compiledICHolder.hpp"                                                                                                 
36 #include "oops/oop.inline.hpp"                                                                                                       
37 #include "prims/jvmtiExport.hpp"                                                                                                     
38 #include "register_arm.hpp"                                                                                                          
39 #include "runtime/sharedRuntime.hpp"                                                                                                 
40 #include "runtime/signature.hpp"                                                                                                     
41 #include "runtime/vframeArray.hpp"                                                                                                   
42 #include "utilities/align.hpp"                                                                                                       
43 #include "vmreg_arm.inline.hpp"                                                                                                      
44 #if INCLUDE_ALL_GCS                                                                                                                  
                                                                                                                                     
45 #include "gc/g1/g1CardTable.hpp"                                                                                                     
46 #include "gc/g1/g1SATBCardTableModRefBS.hpp"                                                                                         
47 #endif                                                                                                                               
48 
49 // Note: Rtemp usage is this file should not impact C2 and should be                                                                 
50 // correct as long as it is not implicitly used in lower layers (the                                                                 
51 // arm [macro]assembler) and used with care in the other C1 specific                                                                 
52 // files.                                                                                                                            
53 
54 // Implementation of StubAssembler                                                                                                   
55 
56 int StubAssembler::call_RT(Register oop_result1, Register metadata_result, address entry, int args_size) {                           
57   mov(R0, Rthread);                                                                                                                  
58 
59   int call_offset = set_last_Java_frame(SP, FP, false, Rtemp);                                                                       
60 
61   call(entry);                                                                                                                       
62   if (call_offset == -1) { // PC not saved                                                                                           
63     call_offset = offset();                                                                                                          
64   }                                                                                                                                  
65   reset_last_Java_frame(Rtemp);                                                                                                      

25 #include "asm/macroAssembler.hpp"
26 #include "c1/c1_Defs.hpp"
27 #include "c1/c1_LIRAssembler.hpp"
28 #include "c1/c1_MacroAssembler.hpp"
29 #include "c1/c1_Runtime1.hpp"
30 #include "ci/ciUtilities.hpp"
31 #include "gc/shared/cardTable.hpp"
32 #include "gc/shared/cardTableModRefBS.hpp"
33 #include "interpreter/interpreter.hpp"
34 #include "nativeInst_arm.hpp"
35 #include "oops/compiledICHolder.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "prims/jvmtiExport.hpp"
38 #include "register_arm.hpp"
39 #include "runtime/sharedRuntime.hpp"
40 #include "runtime/signature.hpp"
41 #include "runtime/vframeArray.hpp"
42 #include "utilities/align.hpp"
43 #include "vmreg_arm.inline.hpp"
44 #if INCLUDE_ALL_GCS
45 #include "gc/g1/g1BarrierSet.hpp"
46 #include "gc/g1/g1CardTable.hpp"

47 #endif
48 
49 // Note: Rtemp usage is this file should not impact C2 and should be
50 // correct as long as it is not implicitly used in lower layers (the
51 // arm [macro]assembler) and used with care in the other C1 specific
52 // files.
53 
54 // Implementation of StubAssembler
55 
56 int StubAssembler::call_RT(Register oop_result1, Register metadata_result, address entry, int args_size) {
57   mov(R0, Rthread);
58 
59   int call_offset = set_last_Java_frame(SP, FP, false, Rtemp);
60 
61   call(entry);
62   if (call_offset == -1) { // PC not saved
63     call_offset = offset();
64   }
65   reset_last_Java_frame(Rtemp);
< prev index next >