< prev index next >
src/java.base/share/classes/java/nio/X-Buffer.java.template
Print this page
rev 57242 : imported patch 8234049.patch
@@ -35,10 +35,11 @@
import java.util.stream.StreamSupport;
import java.util.stream.$Streamtype$Stream;
#end[streamableType]
import java.util.Objects;
+import jdk.internal.access.foreign.MemorySegmentProxy;
import jdk.internal.util.ArraysSupport;
/**
* $A$ $type$ buffer.
*
@@ -277,21 +278,29 @@
// Creates a new buffer with the given mark, position, limit, capacity,
// backing array, and array offset
//
$Type$Buffer(int mark, int pos, int lim, int cap, // package-private
- $type$[] hb, int offset)
+ $type$[] hb, int offset, MemorySegmentProxy segment)
{
- super(mark, pos, lim, cap);
+ super(mark, pos, lim, cap, segment);
this.hb = hb;
this.offset = offset;
}
// Creates a new buffer with the given mark, position, limit, and capacity
//
- $Type$Buffer(int mark, int pos, int lim, int cap) { // package-private
- this(mark, pos, lim, cap, null, 0);
+ $Type$Buffer(int mark, int pos, int lim, int cap, MemorySegmentProxy segment) { // package-private
+ this(mark, pos, lim, cap, null, 0, segment);
+ }
+
+ // Creates a new buffer with given base, address and capacity
+ //
+ $Type$Buffer($type$[] hb, long addr, int cap, MemorySegmentProxy segment) { // package-private
+ super(addr, cap, segment);
+ this.hb = hb;
+ this.offset = 0;
}
@Override
Object base() {
return hb;
@@ -346,11 +355,11 @@
* If the {@code capacity} is a negative integer
*/
public static $Type$Buffer allocate(int capacity) {
if (capacity < 0)
throw createCapacityException(capacity);
- return new Heap$Type$Buffer(capacity, capacity);
+ return new Heap$Type$Buffer(capacity, capacity, null);
}
/**
* Wraps $a$ $type$ array into a buffer.
*
@@ -391,11 +400,11 @@
*/
public static $Type$Buffer wrap($type$[] array,
int offset, int length)
{
try {
- return new Heap$Type$Buffer(array, offset, length);
+ return new Heap$Type$Buffer(array, offset, length, null);
} catch (IllegalArgumentException x) {
throw new IndexOutOfBoundsException();
}
}
< prev index next >