java: update X86 binding after the last update in the core
diff --git a/bindings/java/TestX86.java b/bindings/java/TestX86.java
index 14389a3..be77a63 100644
--- a/bindings/java/TestX86.java
+++ b/bindings/java/TestX86.java
@@ -47,10 +47,6 @@
 
     System.out.printf("\tPrefix: %s\n", array2hex(operands.prefix));
 
-    if (operands.segment != X86_REG_INVALID)
-      System.out.println("\tSegment override: " + ins.regName(operands.segment));
-
-
     System.out.printf("\tOpcode: %s\n", array2hex(operands.opcode));
 
     // print address size
@@ -93,8 +89,11 @@
           System.out.printf("\t\toperands[%d].type: FP = %f\n", c, i.value.fp);
         if (i.type == X86_OP_MEM) {
           System.out.printf("\t\toperands[%d].type: MEM\n",c);
+          String segment = ins.regName(i.value.mem.segment);
           String base = ins.regName(i.value.mem.base);
           String index = ins.regName(i.value.mem.index);
+          if (segment != null)
+            System.out.printf("\t\t\toperands[%d].mem.segment: REG = %s\n", c, segment);
           if (base != null)
             System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, base);
           if (index != null)
diff --git a/bindings/java/capstone/X86.java b/bindings/java/capstone/X86.java
index 4e6b069..7b3460d 100644
--- a/bindings/java/capstone/X86.java
+++ b/bindings/java/capstone/X86.java
@@ -14,6 +14,7 @@
 public class X86 {
 
   public static class MemType extends Structure {
+    public int segment;
     public int base;
     public int index;
     public int scale;
@@ -21,7 +22,7 @@
 
     @Override
     public List getFieldOrder() {
-      return Arrays.asList("base", "index", "scale", "disp");
+      return Arrays.asList("segment", "base", "index", "scale", "disp");
     }
   }
 
@@ -65,7 +66,6 @@
 
   public static class UnionOpInfo extends Capstone.UnionOpInfo {
     public byte [] prefix;
-    public int segment;
     public byte [] opcode;
     public byte addr_size;
     public byte modrm;
@@ -87,14 +87,13 @@
 
     @Override
     public List getFieldOrder() {
-      return Arrays.asList("prefix", "segment", "opcode", "addr_size",
+      return Arrays.asList("prefix", "opcode", "addr_size",
           "modrm", "sib", "disp", "sib_index", "sib_scale", "sib_base", "op_count", "op");
     }
   }
 
   public static class OpInfo extends Capstone.OpInfo {
     public byte [] prefix;
-    public int segment;
     public byte [] opcode;
     public byte opSize;
     public byte addrSize;
@@ -111,7 +110,6 @@
 
     public OpInfo(UnionOpInfo e) {
       prefix = e.prefix;
-      segment = e.segment;
       opcode = e.opcode;
       addrSize = e.addr_size;
       modrm = e.modrm;