From 9fddbf25d7c9361a524f39f13a15d0233e309196 Mon Sep 17 00:00:00 2001 From: darcy Date: Wed, 27 Mar 2013 09:38:53 -0700 Subject: [PATCH] 7185456: (ann) Optimize Annotation handling in java/sun.reflect.* code for small number of annotations Reviewed-by: mduigou, jfranck --- .../sun/reflect/annotation/AnnotationType.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/share/classes/sun/reflect/annotation/AnnotationType.java b/src/share/classes/sun/reflect/annotation/AnnotationType.java index 530834c1e..cfc144441 100644 --- a/src/share/classes/sun/reflect/annotation/AnnotationType.java +++ b/src/share/classes/sun/reflect/annotation/AnnotationType.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -45,19 +45,18 @@ public class AnnotationType { * types. This matches the return value that must be used for a * dynamic proxy, allowing for a simple isInstance test. */ - private final Map> memberTypes = new HashMap>(); + private final Map> memberTypes; /** * Member name -> default value mapping. */ - private final Map memberDefaults = - new HashMap(); + private final Map memberDefaults; /** * Member name -> Method object mapping. This (and its assoicated * accessor) are used only to generate AnnotationTypeMismatchExceptions. */ - private final Map members = new HashMap(); + private final Map members; /** * The retention policy for this annotation type. @@ -105,6 +104,9 @@ public class AnnotationType { } }); + memberTypes = new HashMap>(methods.length+1, 1.0f); + memberDefaults = new HashMap(0); + members = new HashMap(methods.length+1, 1.0f); for (Method method : methods) { if (method.getParameterTypes().length != 0) @@ -117,8 +119,6 @@ public class AnnotationType { Object defaultValue = method.getDefaultValue(); if (defaultValue != null) memberDefaults.put(name, defaultValue); - - members.put(name, method); } sun.misc.SharedSecrets.getJavaLangAccess(). -- GitLab