Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp @ 12955:252d541466ea
8008242: VerifyOops is broken on SPARC
Summary: Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA
Reviewed-by: kvn, twisti
author | morris |
---|---|
date | Fri, 18 Oct 2013 12:15:32 -0700 |
parents | d13d7aba8c12 |
children | 8085ce95b6f5 8cdf3f43f63e |
comparison
equal
deleted
inserted
replaced
12954:e3b736cf4fa3 | 12955:252d541466ea |
---|---|
2563 Label next_test; | 2563 Label next_test; |
2564 // See if the receiver is receiver[n]. | 2564 // See if the receiver is receiver[n]. |
2565 Address receiver_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)) - | 2565 Address receiver_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)) - |
2566 mdo_offset_bias); | 2566 mdo_offset_bias); |
2567 __ ld_ptr(receiver_addr, tmp1); | 2567 __ ld_ptr(receiver_addr, tmp1); |
2568 __ verify_oop(tmp1); | 2568 __ verify_klass_ptr(tmp1); |
2569 __ cmp_and_brx_short(recv, tmp1, Assembler::notEqual, Assembler::pt, next_test); | 2569 __ cmp_and_brx_short(recv, tmp1, Assembler::notEqual, Assembler::pt, next_test); |
2570 Address data_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_count_offset(i)) - | 2570 Address data_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_count_offset(i)) - |
2571 mdo_offset_bias); | 2571 mdo_offset_bias); |
2572 __ ld_ptr(data_addr, tmp1); | 2572 __ ld_ptr(data_addr, tmp1); |
2573 __ add(tmp1, DataLayout::counter_increment, tmp1); | 2573 __ add(tmp1, DataLayout::counter_increment, tmp1); |