src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataReader.java
branchJEP-349-branch
changeset 57360 5d043a159d5c
parent 52413 6372f5af9612
child 58112 e7754025004b
--- 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();