< prev index next >
src/cpu/x86/vm/nativeInst_x86.hpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 710,724 ****
NOT_JVMCI(assert(!Assembler::is_polling_page_far(), "unexpected poll encoding");)
return os::is_poll_address(fault);
}
// Now try decoding a far safepoint:
// two cases, depending on the choice of the base register in the address.
! if (((ubyte_at(0) & NativeTstRegMem::instruction_rex_prefix_mask) == NativeTstRegMem::instruction_rex_prefix &&
! ubyte_at(1) == NativeTstRegMem::instruction_code_memXregl &&
! (ubyte_at(2) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) ||
! ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl &&
! (ubyte_at(1) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) {
NOT_JVMCI(assert(Assembler::is_polling_page_far(), "unexpected poll encoding");)
return true;
}
return false;
#else
--- 710,724 ----
NOT_JVMCI(assert(!Assembler::is_polling_page_far(), "unexpected poll encoding");)
return os::is_poll_address(fault);
}
// Now try decoding a far safepoint:
// two cases, depending on the choice of the base register in the address.
! if ( ( (ubyte_at(0) & NativeTstRegMem::instruction_rex_prefix_mask) == NativeTstRegMem::instruction_rex_prefix
! && ubyte_at(1) == NativeTstRegMem::instruction_code_memXregl
! && (ubyte_at(2) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg)
! || ( ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl
! && (ubyte_at(1) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) ) {
NOT_JVMCI(assert(Assembler::is_polling_page_far(), "unexpected poll encoding");)
return true;
}
return false;
#else
< prev index next >