Mercurial > hg > truffle
changeset 13489:780d53499ca2
merge
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 27 Dec 2013 17:13:57 -0800 |
parents | 83adefeb8e5c (current diff) 441b54753cda (diff) |
children | 33f0ac112264 |
files | |
diffstat | 2 files changed, 12 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/mx/mx_graal.py Fri Dec 27 15:12:12 2013 -0800 +++ b/mx/mx_graal.py Fri Dec 27 17:13:57 2013 -0800 @@ -983,7 +983,7 @@ for vmbuild in ['fastdebug', 'product']: for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild): if 'eclipse' in str(test) and mx.java().version >= mx.VersionSpec('1.8'): - # DaCapo eclipse doesn't not run under JDK8 + # DaCapo eclipse doesn't run under JDK8 continue t = Task(str(test) + ':' + vmbuild)
--- a/src/cpu/x86/vm/graalCodeInstaller_x86.hpp Fri Dec 27 15:12:12 2013 -0800 +++ b/src/cpu/x86/vm/graalCodeInstaller_x86.hpp Fri Dec 27 17:13:57 2013 -0800 @@ -219,26 +219,25 @@ } } +static void relocate_poll_near(address pc) { + NativeInstruction* ni = nativeInstruction_at(pc); + int32_t* disp = (int32_t*) Assembler::locate_operand(pc, Assembler::disp32_operand); + int32_t offset = *disp; // The Java code installed the polling page offset into the disp32 operand + intptr_t new_disp = (intptr_t) (os::get_polling_page() + offset) - (intptr_t) ni; + *disp = (int32_t)new_disp; +} + + inline void CodeInstaller::pd_relocate_poll(address pc, jint mark) { switch (mark) { case MARK_POLL_NEAR: { - NativeInstruction* ni = nativeInstruction_at(pc); - int32_t* disp = (int32_t*) Assembler::locate_operand(pc, Assembler::disp32_operand); - // int32_t* disp = (int32_t*) Assembler::locate_operand(instruction, Assembler::disp32_operand); - int32_t offset = *disp; // The Java code installed the polling page offset into the disp32 operand - intptr_t new_disp = (intptr_t) (os::get_polling_page() + offset) - (intptr_t) ni; - *disp = (int32_t)new_disp; + relocate_poll_near(pc); } case MARK_POLL_FAR: _instructions->relocate(pc, relocInfo::poll_type); break; case MARK_POLL_RETURN_NEAR: { - NativeInstruction* ni = nativeInstruction_at(pc); - int32_t* disp = (int32_t*) Assembler::locate_operand(pc, Assembler::disp32_operand); - // int32_t* disp = (int32_t*) Assembler::locate_operand(instruction, Assembler::disp32_operand); - int32_t offset = *disp; // The Java code installed the polling page offset into the disp32 operand - intptr_t new_disp = (intptr_t) (os::get_polling_page() + offset) - (intptr_t) ni; - *disp = (int32_t)new_disp; + relocate_poll_near(pc); } case MARK_POLL_RETURN_FAR: _instructions->relocate(pc, relocInfo::poll_return_type);