From 414a7fdc5e4aae4cec25b0847bb7c163f271b4e0 Mon Sep 17 00:00:00 2001 From: Chen Liang Date: Tue, 21 May 2024 08:02:18 +0000 Subject: [PATCH] 8311175: Move BufWriter::asByteBuffer to BufWriterImpl Reviewed-by: asotona --- .../share/classes/java/lang/classfile/BufWriter.java | 6 ------ .../classes/jdk/internal/classfile/impl/BufWriterImpl.java | 5 ++--- .../classes/jdk/internal/classfile/impl/StackCounter.java | 2 +- .../jdk/internal/classfile/impl/StackMapGenerator.java | 2 +- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/java.base/share/classes/java/lang/classfile/BufWriter.java b/src/java.base/share/classes/java/lang/classfile/BufWriter.java index f178b6b2db0..11d6a4501f0 100644 --- a/src/java.base/share/classes/java/lang/classfile/BufWriter.java +++ b/src/java.base/share/classes/java/lang/classfile/BufWriter.java @@ -24,7 +24,6 @@ */ package java.lang.classfile; -import java.nio.ByteBuffer; import java.util.List; import java.lang.classfile.constantpool.ConstantPool; @@ -192,11 +191,6 @@ public sealed interface BufWriter */ int size(); - /** - * {@return a {@link java.nio.ByteBuffer ByteBuffer} view of the bytes in the buffer} - */ - ByteBuffer asByteBuffer(); - /** * Copy the contents of the buffer into a byte array. * diff --git a/src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java b/src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java index 779bb0393b4..87161588203 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java +++ b/src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2022, 2024, 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 @@ -171,9 +171,8 @@ public final class BufWriterImpl implements BufWriter { return offset; } - @Override public ByteBuffer asByteBuffer() { - return ByteBuffer.wrap(elems, 0, offset); + return ByteBuffer.wrap(elems, 0, offset).slice(); } @Override diff --git a/src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java b/src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java index 0b52d4e1ea5..84b0425893d 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java +++ b/src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java @@ -51,7 +51,7 @@ public final class StackCounter { dcb.methodInfo.methodName().stringValue(), dcb.methodInfo.methodTypeSymbol(), (dcb.methodInfo.methodFlags() & ACC_STATIC) != 0, - dcb.bytecodesBufWriter.asByteBuffer().slice(0, dcb.bytecodesBufWriter.size()), + ((BufWriterImpl) dcb.bytecodesBufWriter).asByteBuffer(), dcb.constantPool, dcb.handlers); } diff --git a/src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java b/src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java index 81e6f341a13..17fcc5046a1 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java +++ b/src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java @@ -151,7 +151,7 @@ public final class StackMapGenerator { dcb.methodInfo.methodName().stringValue(), dcb.methodInfo.methodTypeSymbol(), (dcb.methodInfo.methodFlags() & ACC_STATIC) != 0, - dcb.bytecodesBufWriter.asByteBuffer().slice(0, dcb.bytecodesBufWriter.size()), + ((BufWriterImpl) dcb.bytecodesBufWriter).asByteBuffer(), dcb.constantPool, dcb.context, dcb.handlers);