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