cakofony opened a new pull request #261: Reduce AsyncLogger.actualAsyncLog to 34 bytes to allow inlining URL: https://github.com/apache/logging-log4j2/pull/261 New code, which may be inlined unless there are properties configured on the logger: ``` public void actualAsyncLog(RingBufferLogEvent) 0: aload_0 1: getfield #6 // Field privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig; 4: getfield #7 // Field org/apache/logging/log4j/core/Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig; 7: astore_2 8: aload_2 9: invokevirtual #88 // Method org/apache/logging/log4j/core/config/LoggerConfig.getPropertyList:()Ljava/util/List; 12: astore_3 13: aload_3 14: ifnull 23 17: aload_0 18: aload_1 19: aload_3 20: invokespecial #89 // Method onPropertiesPresent:(Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;Ljava/util/List;)V 23: aload_2 24: invokevirtual #85 // Method org/apache/logging/log4j/core/config/LoggerConfig.getReliabilityStrategy:()Lorg/apache/logging/log4j/core/config/ReliabilityStrategy; 27: aload_0 28: aload_1 29: invokeinterface #90, 3// InterfaceMethod org/apache/logging/log4j/core/config/ReliabilityStrategy.log:(Lorg/apache/logging/log4j/util/Supplier;Lorg/apache/logging/log4j/core/LogEvent;)V 34: return private void onPropertiesPresent(RingBufferLogEvent,List) 0: aload_1 1: invokestatic #91 // Method getContextData:(Lorg/apache/logging/log4j/core/async/RingBufferLogEvent;)Lorg/apache/logging/log4j/util/StringMap; 4: astore_3 5: aload_2 6: invokeinterface #92, 1// InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 11: astore 4 13: aload 4 15: invokeinterface #93, 1// InterfaceMethod java/util/Iterator.hasNext:()Z 20: ifeq 107 23: aload 4 25: invokeinterface #94, 1// InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 30: checkcast #95 // class org/apache/logging/log4j/core/config/Property 33: astore 5 35: aload_3 36: aload 5 38: invokevirtual #96 // Method org/apache/logging/log4j/core/config/Property.getName:()Ljava/lang/String; 41: invokeinterface #97, 2// InterfaceMethod org/apache/logging/log4j/util/StringMap.getValue:(Ljava/lang/String;)Ljava/lang/Object; 46: ifnull 52 49: goto 13 52: aload 5 54: invokevirtual #98 // Method org/apache/logging/log4j/core/config/Property.isValueNeedsLookup:()Z 57: ifeq 84 60: aload_0 61: getfield #6 // Field privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig; 64: getfield #99 // Field org/apache/logging/log4j/core/Logger$PrivateConfig.config:Lorg/apache/logging/log4j/core/config/Configuration; 67: invokeinterface #100, 1// InterfaceMethod org/apache/logging/log4j/core/config/Configuration.getStrSubstitutor:()Lorg/apache/logging/log4j/core/lookup/StrSubstitutor; 72: aload_1 73: aload 5 75: invokevirtual #101 // Method org/apache/logging/log4j/core/config/Property.getValue:()Ljava/lang/String; 78: invokevirtual #102 // Method org/apache/logging/log4j/core/lookup/StrSubstitutor.replace:(Lorg/apache/logging/log4j/core/LogEvent;Ljava/lang/String;)Ljava/lang/String; 81: goto 89 84: aload 5 86: invokevirtual #101 // Method org/apache/logging/log4j/core/config/Property.getValue:()Ljava/lang/String; 89: astore 6 91: aload_3 92: aload 5 94: invokevirtual #96 // Method org/apache/logging/log4j/core/config/Property.getName:()Ljava/lang/String; 97: aload 6 99: invokeinterface #103, 3// InterfaceMethod org/apache/logging/log4j/util/StringMap.putValue:(Ljava/lang/String;Ljava/lang/Object;)V 104: goto 13 107: aload_1 108: aload_3 109: invokevirtual #104 // Method org/apache/logging/log4j/core/async/RingBufferLogEvent.setContextData:(Lorg/apache/logging/log4j/util/StringMap;)V 112: return private static StringMap getContextData(RingBufferLogEvent) 0: aload_0 1: invokevirtual #79 // Method org/apache/logging/log4j/core/async/RingBufferLogEvent.getContextData:()Lorg/apache/logging/log4j/util/ReadOnlyStringMap; 4: checkcast #80 // class org/apache/logging/log4j/util/StringMap 7: astore_1 8: aload_1 9: invokeinterface #105, 1// InterfaceMethod org/apache/logging/log4j/util/StringMap.isFrozen:()Z 14: ifeq 30 17: invokestatic #106 // Method org/apache/logging/log4j/core/impl/ContextDataFactory.createContextData:()Lorg/apache/logging/log4j/util/StringMap; 20: astore_2 21: aload_2 22: aload_1 23: invokeinterface #107, 2// InterfaceMethod org/apache/logging/log4j/util/StringMap.putAll:(Lorg/apache/logging/log4j/util/ReadOnlyStringMap;)V 28: aload_2 29: areturn 30: aload_1 31: areturn ``` Previous: ``` public void actualAsyncLog(RingBufferLogEvent) 0: aload_0 1: getfield #6 // Field privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig; 4: getfield #7 // Field org/apache/logging/log4j/core/Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig; 7: invokevirtual #88 // Method org/apache/logging/log4j/core/config/LoggerConfig.getPropertyList:()Ljava/util/List; 10: astore_2 11: aload_2 12: ifnull 155 15: aload_1 16: invokevirtual #79 // Method org/apache/logging/log4j/core/async/RingBufferLogEvent.getContextData:()Lorg/apache/logging/log4j/util/ReadOnlyStringMap; 19: checkcast #80 // class org/apache/logging/log4j/util/StringMap 22: astore_3 23: aload_3 24: invokeinterface #89, 1// InterfaceMethod org/apache/logging/log4j/util/StringMap.isFrozen:()Z 29: ifeq 48 32: invokestatic #90 // Method org/apache/logging/log4j/core/impl/ContextDataFactory.createContextData:()Lorg/apache/logging/log4j/util/StringMap; 35: astore 4 37: aload 4 39: aload_3 40: invokeinterface #91, 2// InterfaceMethod org/apache/logging/log4j/util/StringMap.putAll:(Lorg/apache/logging/log4j/util/ReadOnlyStringMap;)V 45: aload 4 47: astore_3 48: iconst_0 49: istore 4 51: iload 4 53: aload_2 54: invokeinterface #92, 1// InterfaceMethod java/util/List.size:()I 59: if_icmpge 150 62: aload_2 63: iload 4 65: invokeinterface #93, 2// InterfaceMethod java/util/List.get:(I)Ljava/lang/Object; 70: checkcast #94 // class org/apache/logging/log4j/core/config/Property 73: astore 5 75: aload_3 76: aload 5 78: invokevirtual #95 // Method org/apache/logging/log4j/core/config/Property.getName:()Ljava/lang/String; 81: invokeinterface #96, 2// InterfaceMethod org/apache/logging/log4j/util/StringMap.getValue:(Ljava/lang/String;)Ljava/lang/Object; 86: ifnull 92 89: goto 144 92: aload 5 94: invokevirtual #97 // Method org/apache/logging/log4j/core/config/Property.isValueNeedsLookup:()Z 97: ifeq 124 100: aload_0 101: getfield #6 // Field privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig; 104: getfield #98 // Field org/apache/logging/log4j/core/Logger$PrivateConfig.config:Lorg/apache/logging/log4j/core/config/Configuration; 107: invokeinterface #99, 1// InterfaceMethod org/apache/logging/log4j/core/config/Configuration.getStrSubstitutor:()Lorg/apache/logging/log4j/core/lookup/StrSubstitutor; 112: aload_1 113: aload 5 115: invokevirtual #100 // Method org/apache/logging/log4j/core/config/Property.getValue:()Ljava/lang/String; 118: invokevirtual #101 // Method org/apache/logging/log4j/core/lookup/StrSubstitutor.replace:(Lorg/apache/logging/log4j/core/LogEvent;Ljava/lang/String;)Ljava/lang/String; 121: goto 129 124: aload 5 126: invokevirtual #100 // Method org/apache/logging/log4j/core/config/Property.getValue:()Ljava/lang/String; 129: astore 6 131: aload_3 132: aload 5 134: invokevirtual #95 // Method org/apache/logging/log4j/core/config/Property.getName:()Ljava/lang/String; 137: aload 6 139: invokeinterface #102, 3// InterfaceMethod org/apache/logging/log4j/util/StringMap.putValue:(Ljava/lang/String;Ljava/lang/Object;)V 144: iinc 4, 1 147: goto 51 150: aload_1 151: aload_3 152: invokevirtual #103 // Method org/apache/logging/log4j/core/async/RingBufferLogEvent.setContextData:(Lorg/apache/logging/log4j/util/StringMap;)V 155: aload_0 156: getfield #6 // Field privateConfig:Lorg/apache/logging/log4j/core/Logger$PrivateConfig; 159: getfield #7 // Field org/apache/logging/log4j/core/Logger$PrivateConfig.loggerConfig:Lorg/apache/logging/log4j/core/config/LoggerConfig; 162: invokevirtual #85 // Method org/apache/logging/log4j/core/config/LoggerConfig.getReliabilityStrategy:()Lorg/apache/logging/log4j/core/config/ReliabilityStrategy; 165: astore_3 166: aload_3 167: aload_0 168: aload_1 169: invokeinterface #104, 3// InterfaceMethod org/apache/logging/log4j/core/config/ReliabilityStrategy.log:(Lorg/apache/logging/log4j/util/Supplier;Lorg/apache/logging/log4j/core/LogEvent;)V 174: return ```
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
