--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataReader.java Fri May 17 15:53:21 2019 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataReader.java Fri May 17 16:02:27 2019 +0200
@@ -49,6 +49,9 @@
import jdk.jfr.SettingDescriptor;
import jdk.jfr.ValueDescriptor;
import jdk.jfr.internal.MetadataDescriptor.Element;
+import jdk.jfr.internal.consumer.Parser;
+import jdk.jfr.internal.consumer.RecordingInput;
+import jdk.jfr.internal.consumer.RecordingInternals;
/**
* Parses metadata.
@@ -61,12 +64,13 @@
private final MetadataDescriptor descriptor;
private final Map<Long, Type> types = new HashMap<>();
- public MetadataReader(DataInput input) throws IOException {
+ public MetadataReader(RecordingInput input) throws IOException {
this.input = input;
int size = input.readInt();
this.pool = new ArrayList<>(size);
+ Parser p = RecordingInternals.instance().newStringParser();
for (int i = 0; i < size; i++) {
- this.pool.add(input.readUTF());
+ this.pool.add((String) p.parse(input));
}
descriptor = new MetadataDescriptor();
Element root = createElement();