comparison src/cpu/x86/vm/nativeInst_x86.hpp @ 21559:be896a1983c0

recast all Graal native code as JVMCI code (JBS:GRAAL-53)
author Doug Simon <doug.simon@oracle.com>
date Thu, 28 May 2015 15:36:48 +0200
parents 0dac22d266d8
children
comparison
equal deleted inserted replaced
21558:d563baeca9df 21559:be896a1983c0
564 #ifdef AMD64 564 #ifdef AMD64
565 // Try decoding a near safepoint first: 565 // Try decoding a near safepoint first:
566 if (ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl && 566 if (ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl &&
567 ubyte_at(1) == 0x05) { // 00 rax 101 567 ubyte_at(1) == 0x05) { // 00 rax 101
568 address fault = addr_at(6) + int_at(2); 568 address fault = addr_at(6) + int_at(2);
569 NOT_GRAAL(assert(!Assembler::is_polling_page_far(), "unexpected poll encoding");) 569 NOT_JVMCI(assert(!Assembler::is_polling_page_far(), "unexpected poll encoding");)
570 return os::is_poll_address(fault); 570 return os::is_poll_address(fault);
571 } 571 }
572 // Now try decoding a far safepoint: 572 // Now try decoding a far safepoint:
573 // two cases, depending on the choice of the base register in the address. 573 // two cases, depending on the choice of the base register in the address.
574 if (((ubyte_at(0) & NativeTstRegMem::instruction_rex_prefix_mask) == NativeTstRegMem::instruction_rex_prefix && 574 if (((ubyte_at(0) & NativeTstRegMem::instruction_rex_prefix_mask) == NativeTstRegMem::instruction_rex_prefix &&
575 ubyte_at(1) == NativeTstRegMem::instruction_code_memXregl && 575 ubyte_at(1) == NativeTstRegMem::instruction_code_memXregl &&
576 (ubyte_at(2) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) || 576 (ubyte_at(2) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) ||
577 ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl && 577 ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl &&
578 (ubyte_at(1) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) { 578 (ubyte_at(1) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) {
579 NOT_GRAAL(assert(Assembler::is_polling_page_far(), "unexpected poll encoding");) 579 NOT_JVMCI(assert(Assembler::is_polling_page_far(), "unexpected poll encoding");)
580 return true; 580 return true;
581 } 581 }
582 return false; 582 return false;
583 #else 583 #else
584 return ( ubyte_at(0) == NativeMovRegMem::instruction_code_mem2reg || 584 return ( ubyte_at(0) == NativeMovRegMem::instruction_code_mem2reg ||