diff -r 74e9f4b90006 -r 3e6453e2d833 jdk/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template --- a/jdk/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Mon Mar 21 11:21:08 2016 +0100 +++ b/jdk/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Thu Mar 24 11:21:18 2016 +0100 @@ -140,6 +140,7 @@ att = null; #else[rw] super(cap); + this.isReadOnly = true; #end[rw] } @@ -180,6 +181,7 @@ att = null; #else[rw] super(cap, addr, fd, unmapper); + this.isReadOnly = true; #end[rw] } @@ -200,6 +202,7 @@ att = db; #else[rw] super(db, mark, pos, lim, cap, off); + this.isReadOnly = true; #end[rw] } @@ -213,6 +216,15 @@ return new Direct$Type$Buffer$RW$$BO$(this, -1, 0, rem, rem, off); } +#if[byte] + public $Type$Buffer slice(int pos, int lim) { + assert (pos >= 0); + assert (pos <= lim); + int rem = lim - pos; + return new Direct$Type$Buffer$RW$$BO$(this, -1, 0, rem, rem, pos); + } +#end[byte] + public $Type$Buffer duplicate() { return new Direct$Type$Buffer$RW$$BO$(this, this.markValue(),