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