Class PCDataGenerator

  • Direct Known Subclasses:
    DataCachePCDataGenerator

    public class PCDataGenerator
    extends DynamicStorageGenerator
    Generates PCData instances which avoid primitive wrappers to optimize memory use and performance at the cost of slightly higher startup time.
    Since:
    0.3.2
    Author:
    Steve Kim, Mark Struberg rework to ASM
    • Method Detail

      • generatePCData

        public PCData generatePCData​(java.lang.Object oid,
                                     ClassMetaData meta)
        Return a PCData instance for the given oid and metadata.
      • getClassName

        protected final java.lang.String getClassName​(java.lang.Object obj)
        Description copied from class: DynamicStorageGenerator
        Return a class name to use for the given user key. By default, returns the stringified key prefixed by PREFIX.
        Overrides:
        getClassName in class DynamicStorageGenerator
      • getUniqueName

        protected java.lang.String getUniqueName​(java.lang.Class<?> type)
        Creates a unique name for the given type's pcdata implementation.
      • getType

        public static java.lang.Class<?> getType​(java.lang.String className)
      • addVersionMethods

        protected void addVersionMethods​(ClassNodeTracker bc)
        Add methods for loading and storing version data.
      • replaceType

        protected int replaceType​(FieldMetaData fmd)
        Return a valid JavaTypes constant for the given field
      • usesIntermediate

        protected boolean usesIntermediate​(FieldMetaData fmd)
        Whether the given field uses a cacheable intermediate value.
      • usesImplData

        protected boolean usesImplData​(ClassMetaData meta)
        Whether the given type might have cacheable class-level impl data.
      • usesImplData

        protected boolean usesImplData​(FieldMetaData fmd)
        Whether the given field might have cacheable impl data.