src/jdk.jfr/share/classes/jdk/jfr/consumer/ConstantLookup.java
author egahlin
Mon, 02 Sep 2019 21:08:41 +0200
branchJEP-349-branch
changeset 57985 be121cbf3284
parent 57467 de154169948b
child 58020 f082177c5023
permissions -rw-r--r--
Clean up class hiercharchy
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57361
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     1
package jdk.jfr.consumer;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     2
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     3
import jdk.jfr.internal.Type;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     4
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     5
final class ConstantLookup {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     6
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     7
    private final Type type;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     8
    private ConstantMap current;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
     9
    private ConstantMap previous = ConstantMap.EMPTY;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    10
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    11
    ConstantLookup(ConstantMap current, Type type) {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    12
        this.current = current;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    13
        this.type = type;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    14
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    15
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    16
    public Type getType() {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    17
        return type;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    18
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    19
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    20
    public ConstantMap getLatestPool() {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    21
        return current;
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    22
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    23
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    24
    public void newPool() {
57467
de154169948b Enable constant pool caching
egahlin
parents: 57361
diff changeset
    25
        previous = current;
57361
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    26
        current = new ConstantMap(current.factory, current.name);
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    27
     //   previous =  new ConstantMap(); // disable cache
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    28
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    29
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    30
    public Object getPreviousResolved(long key) {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    31
        return previous.getResolved(key);
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    32
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    33
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    34
    public Object getCurrentResolved(long key) {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    35
        return current.getResolved(key);
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    36
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    37
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    38
    public Object getCurrent(long key) {
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    39
        return current.get(key);
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    40
    }
53dccc90a5be Preview-addendum
mgronlun
parents:
diff changeset
    41
}