src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64InstructionDecoder.java
Index
Unified diffs
Context diffs
Sdiffs
Frames
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64InstructionDecoder.java
src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64InstructionDecoder.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2016, 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) 2016, 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.
*** 33,79 ****
private int currentEndOfInstruction;
private static class Prefix {
// segment overrides
! public static final int CSSegment = 0x2e;
! public static final int SSSegment = 0x36;
! public static final int DSSegment = 0x3e;
! public static final int ESSegment = 0x26;
! public static final int FSSegment = 0x64;
! public static final int GSSegment = 0x65;
! public static final int REX = 0x40;
! public static final int REXB = 0x41;
! public static final int REXX = 0x42;
! public static final int REXXB = 0x43;
! public static final int REXR = 0x44;
! public static final int REXRB = 0x45;
! public static final int REXRX = 0x46;
! public static final int REXRXB = 0x47;
! public static final int REXW = 0x48;
! public static final int REXWB = 0x49;
! public static final int REXWX = 0x4A;
! public static final int REXWXB = 0x4B;
! public static final int REXWR = 0x4C;
! public static final int REXWRB = 0x4D;
! public static final int REXWRX = 0x4E;
! public static final int REXWRXB = 0x4F;
! public static final int VEX_3BYTES = 0xC4;
! public static final int VEX_2BYTES = 0xC5;
! }
!
! public static class VexPrefix {
! public static final int VEX_R = 0x80;
! public static final int VEX_W = 0x80;
! }
!
! public static class VexOpcode {
! public static final int VEX_OPCODE_NONE = 0x0;
! public static final int VEX_OPCODE_0F = 0x1;
! public static final int VEX_OPCODE_0F_38 = 0x2;
! public static final int VEX_OPCODE_0F_3A = 0x3;
! public static final int VEX_OPCODE_MASK = 0x1F;
}
public AMD64InstructionDecoder(TargetDescription target) {
this.targetIs64Bit = target.wordSize == 8;
}
--- 33,79 ----
private int currentEndOfInstruction;
private static class Prefix {
// segment overrides
! static final int CSSegment = 0x2e;
! static final int SSSegment = 0x36;
! static final int DSSegment = 0x3e;
! static final int ESSegment = 0x26;
! static final int FSSegment = 0x64;
! static final int GSSegment = 0x65;
! static final int REX = 0x40;
! static final int REXB = 0x41;
! static final int REXX = 0x42;
! static final int REXXB = 0x43;
! static final int REXR = 0x44;
! static final int REXRB = 0x45;
! static final int REXRX = 0x46;
! static final int REXRXB = 0x47;
! static final int REXW = 0x48;
! static final int REXWB = 0x49;
! static final int REXWX = 0x4A;
! static final int REXWXB = 0x4B;
! static final int REXWR = 0x4C;
! static final int REXWRB = 0x4D;
! static final int REXWRX = 0x4E;
! static final int REXWRXB = 0x4F;
! static final int VEX_3BYTES = 0xC4;
! static final int VEX_2BYTES = 0xC5;
! }
!
! private static class VexPrefix {
! static final int VEX_R = 0x80;
! static final int VEX_W = 0x80;
! }
!
! private static class VexOpcode {
! static final int VEX_OPCODE_NONE = 0x0;
! static final int VEX_OPCODE_0F = 0x1;
! static final int VEX_OPCODE_0F_38 = 0x2;
! static final int VEX_OPCODE_0F_3A = 0x3;
! static final int VEX_OPCODE_MASK = 0x1F;
}
public AMD64InstructionDecoder(TargetDescription target) {
this.targetIs64Bit = target.wordSize == 8;
}
*** 444,454 ****
case 0xC5: // pextrw r/a, r, #8
case 0xC6: // shufp[s|d] r, r, r/a, #8
tailSize = 1; // the imm8
break;
default:
! ; // no imm8
}
break;
case VexOpcode.VEX_OPCODE_0F_3A:
tailSize = 1;
break;
--- 444,454 ----
case 0xC5: // pextrw r/a, r, #8
case 0xC6: // shufp[s|d] r, r, r/a, #8
tailSize = 1; // the imm8
break;
default:
! break; // no imm8
}
break;
case VexOpcode.VEX_OPCODE_0F_3A:
tailSize = 1;
break;
src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64InstructionDecoder.java
Index
Unified diffs
Context diffs
Sdiffs
Frames
Patch
New
Old
Previous File
Next File