< prev index next >

src/cpu/sparc/vm/macroAssembler_sparc.hpp

Print this page
rev 10742 : Make fields used in lock-free algorithms volatile


1071 
1072   void call_VM_leaf(Register thread_cache, address entry_point, int number_of_arguments = 0);
1073   void call_VM_leaf(Register thread_cache, address entry_point, Register arg_1);
1074   void call_VM_leaf(Register thread_cache, address entry_point, Register arg_1, Register arg_2);
1075   void call_VM_leaf(Register thread_cache, address entry_point, Register arg_1, Register arg_2, Register arg_3);
1076 
1077   void get_vm_result  (Register oop_result);
1078   void get_vm_result_2(Register metadata_result);
1079 
1080   // vm result is currently getting hijacked to for oop preservation
1081   void set_vm_result(Register oop_result);
1082 
1083   // Emit the CompiledIC call idiom
1084   void ic_call(address entry, bool emit_delay = true, jint method_index = 0);
1085 
1086   // if call_VM_base was called with check_exceptions=false, then call
1087   // check_and_forward_exception to handle exceptions when it is safe
1088   void check_and_forward_exception(Register scratch_reg);
1089 
1090   // Write to card table for - register is destroyed afterwards.
1091   void card_table_write(jbyte* byte_map_base, Register tmp, Register obj);
1092 
1093   void card_write_barrier_post(Register store_addr, Register new_val, Register tmp);
1094 
1095 #if INCLUDE_ALL_GCS
1096   // General G1 pre-barrier generator.
1097   void g1_write_barrier_pre(Register obj, Register index, int offset, Register pre_val, Register tmp, bool preserve_o_regs);
1098 
1099   // General G1 post-barrier generator
1100   void g1_write_barrier_post(Register store_addr, Register new_val, Register tmp);
1101 #endif // INCLUDE_ALL_GCS
1102 
1103   // pushes double TOS element of FPU stack on CPU stack; pops from FPU stack
1104   void push_fTOS();
1105 
1106   // pops double TOS element from CPU stack and pushes on FPU stack
1107   void pop_fTOS();
1108 
1109   void empty_FPU_stack();
1110 
1111   void push_IU_state();




1071 
1072   void call_VM_leaf(Register thread_cache, address entry_point, int number_of_arguments = 0);
1073   void call_VM_leaf(Register thread_cache, address entry_point, Register arg_1);
1074   void call_VM_leaf(Register thread_cache, address entry_point, Register arg_1, Register arg_2);
1075   void call_VM_leaf(Register thread_cache, address entry_point, Register arg_1, Register arg_2, Register arg_3);
1076 
1077   void get_vm_result  (Register oop_result);
1078   void get_vm_result_2(Register metadata_result);
1079 
1080   // vm result is currently getting hijacked to for oop preservation
1081   void set_vm_result(Register oop_result);
1082 
1083   // Emit the CompiledIC call idiom
1084   void ic_call(address entry, bool emit_delay = true, jint method_index = 0);
1085 
1086   // if call_VM_base was called with check_exceptions=false, then call
1087   // check_and_forward_exception to handle exceptions when it is safe
1088   void check_and_forward_exception(Register scratch_reg);
1089 
1090   // Write to card table for - register is destroyed afterwards.
1091   void card_table_write(volatile jbyte* byte_map_base, Register tmp, Register obj);
1092 
1093   void card_write_barrier_post(Register store_addr, Register new_val, Register tmp);
1094 
1095 #if INCLUDE_ALL_GCS
1096   // General G1 pre-barrier generator.
1097   void g1_write_barrier_pre(Register obj, Register index, int offset, Register pre_val, Register tmp, bool preserve_o_regs);
1098 
1099   // General G1 post-barrier generator
1100   void g1_write_barrier_post(Register store_addr, Register new_val, Register tmp);
1101 #endif // INCLUDE_ALL_GCS
1102 
1103   // pushes double TOS element of FPU stack on CPU stack; pops from FPU stack
1104   void push_fTOS();
1105 
1106   // pops double TOS element from CPU stack and pushes on FPU stack
1107   void pop_fTOS();
1108 
1109   void empty_FPU_stack();
1110 
1111   void push_IU_state();


< prev index next >