Mercurial > hg > graal-jvmci-8
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 |