mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8238920: Better Buffer support
Reviewed-by: alanb, ahgross, rhalade, psandoz
This commit is contained in:
parent
800f133a29
commit
c90e523e0a
1 changed files with 17 additions and 13 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2020, 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
|
||||
|
@ -364,8 +364,8 @@ public abstract class Buffer {
|
|||
if (newLimit > capacity | newLimit < 0)
|
||||
throw createLimitException(newLimit);
|
||||
limit = newLimit;
|
||||
if (position > limit) position = limit;
|
||||
if (mark > limit) mark = -1;
|
||||
if (position > newLimit) position = newLimit;
|
||||
if (mark > newLimit) mark = -1;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -689,16 +689,18 @@ public abstract class Buffer {
|
|||
* @return The current position value, before it is incremented
|
||||
*/
|
||||
final int nextGetIndex() { // package-private
|
||||
if (position >= limit)
|
||||
int p = position;
|
||||
if (p >= limit)
|
||||
throw new BufferUnderflowException();
|
||||
return position++;
|
||||
position = p + 1;
|
||||
return p;
|
||||
}
|
||||
|
||||
final int nextGetIndex(int nb) { // package-private
|
||||
if (limit - position < nb)
|
||||
throw new BufferUnderflowException();
|
||||
int p = position;
|
||||
position += nb;
|
||||
if (limit - p < nb)
|
||||
throw new BufferUnderflowException();
|
||||
position = p + nb;
|
||||
return p;
|
||||
}
|
||||
|
||||
|
@ -710,16 +712,18 @@ public abstract class Buffer {
|
|||
* @return The current position value, before it is incremented
|
||||
*/
|
||||
final int nextPutIndex() { // package-private
|
||||
if (position >= limit)
|
||||
int p = position;
|
||||
if (p >= limit)
|
||||
throw new BufferOverflowException();
|
||||
return position++;
|
||||
position = p + 1;
|
||||
return p;
|
||||
}
|
||||
|
||||
final int nextPutIndex(int nb) { // package-private
|
||||
if (limit - position < nb)
|
||||
throw new BufferOverflowException();
|
||||
int p = position;
|
||||
position += nb;
|
||||
if (limit - p < nb)
|
||||
throw new BufferOverflowException();
|
||||
position = p + nb;
|
||||
return p;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue