comparison src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp @ 13512:8085ce95b6f5

reloc info for safepoint polls includes whether the poison page is far or near
author Doug Simon <doug.simon@oracle.com>
date Mon, 06 Jan 2014 13:41:59 +0100
parents 252d541466ea
children fa5180b3c18e
comparison
equal deleted inserted replaced
13511:51e16c7a5685 13512:8085ce95b6f5
1599 __ set(0xdeadbeef, I1); 1599 __ set(0xdeadbeef, I1);
1600 #endif 1600 #endif
1601 } 1601 }
1602 #endif // TIERED 1602 #endif // TIERED
1603 __ set((intptr_t)os::get_polling_page(), L0); 1603 __ set((intptr_t)os::get_polling_page(), L0);
1604 __ relocate(relocInfo::poll_return_type); 1604 __ relocate(poll_return_Relocation::spec(poll_Relocation::far));
1605 __ ld_ptr(L0, 0, G0); 1605 __ ld_ptr(L0, 0, G0);
1606 __ ret(); 1606 __ ret();
1607 __ delayed()->restore(); 1607 __ delayed()->restore();
1608 } 1608 }
1609 1609
1611 int LIR_Assembler::safepoint_poll(LIR_Opr tmp, CodeEmitInfo* info) { 1611 int LIR_Assembler::safepoint_poll(LIR_Opr tmp, CodeEmitInfo* info) {
1612 __ set((intptr_t)os::get_polling_page(), tmp->as_register()); 1612 __ set((intptr_t)os::get_polling_page(), tmp->as_register());
1613 if (info != NULL) { 1613 if (info != NULL) {
1614 add_debug_info_for_branch(info); 1614 add_debug_info_for_branch(info);
1615 } else { 1615 } else {
1616 __ relocate(relocInfo::poll_type); 1616 __ relocate(poll_Relocation::spec(poll_Relocation::far));
1617 } 1617 }
1618 1618
1619 int offset = __ offset(); 1619 int offset = __ offset();
1620 __ ld_ptr(tmp->as_register(), 0, G0); 1620 __ ld_ptr(tmp->as_register(), 0, G0);
1621 1621