Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8338542

Umbrella - Reduce startup overhead associated with migration to ClassFile API

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Delivered
    • Icon: P2 P2
    • 24
    • 24
    • core-libs
    • None

      This is an umbrella task for reducing startup overhead associated with migration of java.lang.invoke package to ClassFile API since 24-b2. Concrete action items will be in the subtasks.

      - Integrate stack counting (and maybe frames) into DCB like in ASM

        1.
        ClassBuilder withMethod builders should cache the method type symbol Sub-task Resolved Chen Liang  
        2.
        Dedicated Array class descriptor implementation Sub-task Resolved Chen Liang  
        3.
        Functional interface implementations for common pre-boot ClassFile operations Sub-task Resolved Chen Liang  
        4.
        Speed up ConstantPoolBuilder::classEntry(ClassDesc) Sub-task Resolved Chen Liang  
        5.
        Sharing of singleton instructions in ClassFile building Sub-task Closed Chen Liang  
        6.
        Make DirectCodeBuilder write through without allocating instruction objects Sub-task Resolved Chen Liang  
        7.
        Remove tag field from AbstractPoolEntry Sub-task Resolved Chen Liang  
        8.
        Optimize BufWriterImpl#writeU1/U2/Int/Long Sub-task Resolved Shaojin Wen  
        9.
        Avoid bootstrapped switches in the classfile API Sub-task Resolved Claes Redestad  
        10.
        Optimize StackMapGenerator Sub-task Resolved Shaojin Wen  
        11.
        Remove AbstractPoolEntry.PrimitiveEntry to reduce boxing overheads Sub-task Resolved Claes Redestad  
        12.
        Optimize ClassFile Util slotSize Sub-task Resolved Shaojin Wen  
        13.
        Optimize ClassFile Utf8EntryImpl#writeTo Sub-task Resolved Shaojin Wen  
        14.
        Remove size field from instructions Sub-task Resolved Chen Liang  
        15.
        Speed up raw bytecode processing in ClassFile API Sub-task Resolved Chen Liang  
        16.
        Reduce overheads in InvokerBytecodeGenerator Sub-task Resolved Claes Redestad  
        17.
        Simplify class data generation in InvokerBytecodeGenerator Sub-task Resolved Chen Liang  
        18.
        Avoid initializing AccessFlag related classes in write-only cases Sub-task Resolved Claes Redestad  
        19.
        Refactor ClassFileImpl to allow loading Option classes lazily Sub-task Resolved Claes Redestad  
        20.
        Reduce work done in j.l.invoke bytecode generators Sub-task Resolved Claes Redestad  
        21.
        Prefer invokeBasic in BootstrapMethodInvokers Sub-task Resolved Claes Redestad  
        22.
        MethodTypeDesc to reuse descriptor string from MethodType Sub-task Closed Chen Liang  
        23.
        Move constant symbol caches to Utf8EntryImpl Sub-task Resolved Chen Liang  
        24.
        Simplify jdk.internal.classfile.impl.EntryMap Sub-task Resolved Claes Redestad  
        25.
        Refactor internal makeHiddenClassDefiner to take option mask instead of Set<ClassOption> Sub-task Resolved Claes Redestad  
        26.
        Optimize StackMapGenerator::processMethod Sub-task Resolved Shaojin Wen  
        27.
        Optimize StackMapGenerator$Frame::checkAssignableTo Sub-task Resolved Shaojin Wen  
        28.
        Optimize DirectClassBuilder::build Sub-task Resolved Shaojin Wen  
        29.
        Simplify simple validation for class definition in MethodHandles.Lookup Sub-task Resolved Chen Liang  
        30.
        Optimize setLocalsFromArg Sub-task Resolved Shaojin Wen  
        31.
        Optimize DirectCodeBuilder Sub-task Resolved Shaojin Wen  
        32.
        Optimize StackMapGenerator::trimAndCompress Sub-task Resolved Shaojin Wen  
        33.
        Optimize StackMapGenerator detect frames Sub-task Resolved Shaojin Wen  
        34.
        Optimize ClassFile Utf8EntryImpl#inflate Sub-task Resolved Shaojin Wen  
        35.
        Optimize RawBytecodeHelper::next Sub-task Resolved Shaojin Wen  
        36.
        Optimize StackMapGenerator::processFieldInstructions Sub-task Resolved Shaojin Wen  
        37.
        Optimize StackMapGenerator::processInvokeInstructions Sub-task Resolved Shaojin Wen  
        38.
        Optimize BytecodeHelpers validate slot Sub-task Resolved Shaojin Wen  
        39.
        Optimize ClassFile Benchmark Write Sub-task Resolved Shaojin Wen  
        40.
        Optimize DirectCodeBuilder writeBody Sub-task Resolved Shaojin Wen  
        41.
        Optimize ClassFile writing BufBuffer Sub-task Resolved Shaojin Wen  
        42.
        Use ClassFile's new API loadConstant(int) Sub-task Resolved Shaojin Wen  

            liach Chen Liang
            liach Chen Liang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: