< prev index next >
src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp
Print this page
*** 26,35 ****
--- 26,38 ----
#ifndef CPU_AARCH64_MACROASSEMBLER_AARCH64_HPP
#define CPU_AARCH64_MACROASSEMBLER_AARCH64_HPP
#include "asm/assembler.hpp"
#include "oops/compressedOops.hpp"
+ #include "utilities/macros.hpp"
+ #include "runtime/signature.hpp"
+
class ciValueKlass;
// MacroAssembler extends Assembler by frequently used macros.
//
*** 1165,1177 ****
reg_written
};
void verified_entry(Compile* C, int sp_inc);
// Unpack all value type arguments passed as oops
void unpack_value_args(Compile* C, bool receiver_only);
! void store_value_type_fields_to_buf(ciValueKlass* vk);
void tableswitch(Register index, jint lowbound, jint highbound,
Label &jumptable, Label &jumptable_end, int stride = 1) {
adr(rscratch1, jumptable);
subsw(rscratch2, index, lowbound);
--- 1168,1198 ----
reg_written
};
void verified_entry(Compile* C, int sp_inc);
+ int store_value_type_fields_to_buf(ciValueKlass* vk, bool from_interpreter = true);
+
// Unpack all value type arguments passed as oops
void unpack_value_args(Compile* C, bool receiver_only);
! bool move_helper(VMReg from, VMReg to, BasicType bt, RegState reg_state[], int ret_off, int extra_stack_offset);
! bool unpack_value_helper(const GrowableArray<SigEntry>* sig, int& sig_index, VMReg from, VMRegPair* regs_to, int& to_index,
! RegState reg_state[], int ret_off, int extra_stack_offset);
! bool pack_value_helper(const GrowableArray<SigEntry>* sig, int& sig_index, int vtarg_index,
! VMReg to, VMRegPair* regs_from, int regs_from_count, int& from_index, RegState reg_state[],
! int ret_off, int extra_stack_offset);
! void restore_stack(Compile* C);
!
! int shuffle_value_args(bool is_packing, bool receiver_only, int extra_stack_offset,
! BasicType* sig_bt, const GrowableArray<SigEntry>* sig_cc,
! int args_passed, int args_on_stack, VMRegPair* regs,
! int args_passed_to, int args_on_stack_to, VMRegPair* regs_to);
! bool shuffle_value_args_spill(bool is_packing, const GrowableArray<SigEntry>* sig_cc, int sig_cc_index,
! VMRegPair* regs_from, int from_index, int regs_from_count,
! RegState* reg_state, int sp_inc, int extra_stack_offset);
! VMReg spill_reg_for(VMReg reg);
!
void tableswitch(Register index, jint lowbound, jint highbound,
Label &jumptable, Label &jumptable_end, int stride = 1) {
adr(rscratch1, jumptable);
subsw(rscratch2, index, lowbound);
*** 1390,1399 ****
--- 1411,1423 ----
spill(tmp1, true, dst_offset);
unspill(tmp1, true, src_offset+8);
spill(tmp1, true, dst_offset+8);
}
}
+
+ #include "asm/macroAssembler_common.hpp"
+
};
#ifdef ASSERT
inline bool AbstractAssembler::pd_check_instruction_mark() { return false; }
#endif
< prev index next >