[PATCH 1/2] Class local storage (original) (raw)

David M. Lloyd david.lloyd at redhat.com
Thu Feb 26 16:05:30 UTC 2009


This first patch adds a ClassLocal mechanism. The cost is one reference per loaded class, plus one WeakHashMap for every loaded class which has local information associated with it. The map has one key for every ClassLocal which is currently storing data on this ClassLocal.

-- diff -r dde3fe2e8164 src/share/classes/java/lang/Class.java --- a/src/share/classes/java/lang/Class.java Wed Feb 25 14:32:01 2009 +0000 +++ b/src/share/classes/java/lang/Class.java Thu Feb 26 09:53:00 2009 -0600 @@ -52,6 +52,7 @@ import java.util.Set; import java.util.Map; import java.util.HashMap; +import java.util.WeakHashMap; import sun.misc.Unsafe; import sun.reflect.ConstantPool; import sun.reflect.Reflection; @@ -3113,4 +3114,18 @@ AnnotationType getAnnotationType() { return annotationType; } +

} diff -r dde3fe2e8164 src/share/classes/java/lang/ClassLocal.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/classes/java/lang/ClassLocal.java Thu Feb 26 09:53:00 2009 -0600 @@ -0,0 +1,205 @@ +/*

null}

null}

return

null}

given

null}

given

+}



More information about the core-libs-dev mailing list