[aarch64-port-dev ] Weird thing in c1 compiler code
Andrew Dinn
adinn at redhat.com
Thu Aug 7 15:15:03 UTC 2014
Can anyone explain why the code at c1_LIRAssembler.cpp:784 looks like this
void LIR_Assembler::reg2stack(LIR_Opr src, LIR_Opr dest, BasicType type,
bool pop_fpu_stack) {
if (src->is_single_cpu()) {
if (type == T_ARRAY || type == T_OBJECT) {
__ str(src->as_register(),
frame_map()->address_for_slot(dest->single_stack_ix()));
__ verify_oop(src->as_register());
} else if (type == T_METADATA || type == T_DOUBLE) {
__ str(src->as_register(),
frame_map()->address_for_slot(dest->single_stack_ix()));
} else {
__ strw(src->as_register(),
frame_map()->address_for_slot(dest->single_stack_ix()));
}
} else if (src->is_double_cpu()) {
. . .
Specifically, why is the else if branch testing for T_DOUBLE?
regards,
Andrew Dinn
-----------
More information about the aarch64-port-dev
mailing list